package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-09.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum09 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {2,0,121,12,-60,24,-99,36,-24,47,-101,58,63,68,-43,76,69,84,-125,90,-109,95,42,99,115,101,100,102,49,102,-85,100,13,98,106,94,-20,89,-67,84,-23,78,-90,72,34,66,111,59,-42,52,75,46,42,40,85,34,-10,28,56,24,23,20,-106,16,-87,13,120,11,-33,9,-34,8,84,8,13,8,57,8,-96,8,27,9,102,9,-65,9,-35,9,-89,9,2,9,-72,7,9,6,-58,3,-27,0,101,-3,34,-7,119,-12,79,-17,-84,-23,-104,-29,98,-35,12,-41,-83,-48,113,-54,87,-60,-73,-66,-115,-71,0,-75,33,-79,18,-82,-27,-85,-91,-86,84,-86,17,-85,-71,-84,89,-81,-32,-78,86,-73,-127,-68,80,-62,-69,-56,-112,-49,-33,-42,60,-34,-80,-27,9,-19,105,-12,69,-5,-56,1,-63,7,39,13,40,18,58,22,-82,25,100,28,-96,30,2,32,-40,32,26,33,-14,32,-113,32,-60,31,-49,30,-57,29,-48,28,22,28,119,27,42,27,66,27,-48,27,-50,28,67,30,58,32,-89,34,-113,37,-52,40,102,44,51,48,34,52,28,56,3,60,-72,63,27,67,-17,69,79,72,4,74,-15,74,-25,74,17,74,66,72,111,69,-98,65,-97,60,-54,54,17,48,119,40,-18,31,-21,22,94,13,107,3,51,-7,-69,-18,118,-28,104,-38,-79,-48,90,-57,-57,-66,-11,-74,8,-80,11,-86,-5,-92,38,-95,106,-98,-49,-100,90,-100,-15,-100,-96,-98,81,-95,-28,-92,76,-87,100,-82,25,-76,64,-70,-62,-64,-121,-57,98,-50,40,-43,-33,-37,104,-30,-108,-24,86,-18,-87,-13,-121,-8,-3,-4,-46,0,34,4,-15,6,117,9,106,11,-7,12,67,14,80,15,94,16,44,17,-12,17,-52,18,-23,19,4,21,92,22,-20,23,-57,25,4,28,108,30,15,33,-10,35,30,39,83,42,-95,45,-20,48,50,52,83,55,59,58,-46,60,22,63,-38,64,40,66,-31,66,3,67,-124,66,73,65,114,63,-11,60,-49,57,20,54,-101,49,-53,44,124,39,-46,33,-69,27,-119,21,69,15,-16,8,-81,2,110,-4,-123,-10,-4,-16,-65,-21,-44,-26,-125,-30,-71,-34,115,-37,-70,-40,93,-42,-69,-44,-127,-45,-49,-46,97,-46,107,-46,-53,-46,93,-45,37,-44,-15,-44,-31,-43,-54,-42,-91,-41,89,-40,-14,-40,90,-39,-117,-39,-114,-39,87,-39,-10,-40,89,-40,-92,-41,-50,-42,3,-42,43,-43,92,-44,-74,-45,95,-45,49,-45,85,-45,-36,-45,-39,-44,117,-42,116,-40,1,-37,34,-34,-10,-31,64,-26,11,-21,93,-16,39,-10,-125,-4,11,3,-32,9,-36,16,29,24,51,31,59,38,14,45,-102,51,-29,57,-104,63,-55,68,89,73,82,77,127,80,-23,82,-117,84,98,85,101,85,-92,84,18,83,-48,80,-61,77,40,74,-16,69,56,65,16,60,115,54,-97,48,-99,42,117,36,68,30,-17,23,-41,17,-34,11,27,6,111,0,46,-5,65,-10,-94,-15,99,-19,80,-23,-66,-27,-120,-30,-93,-33,-25,-36,-97,-38,-105,-40,-51,-42,62,-43,-70,-45,-121,-46,115,-47,-128,-48,-106,-49,-43,-50,51,-50,-95,-51,39,-51,-68,-52,116,-52,76,-52,66,-52,96,-52,-85,-52,31,-51,-48,-51,-79,-50,-25,-49,75,-47,-9,-46,-23,-44,58,-41,-63,-39,-122,-36,-105,-33,-28,-30,-109,-26,84,-22,69,-18,92,-14,-108,-10,5,-5,94,-1,-75,3,4,8,108,12,-123,16,-122,20,78,24,-27,27,100,31,117,34,72,37,-55,39,31,42,4,44,-97,45,-21,46,-22,47,-73,48,37,49,91,49,80,49,23,49,-93,48,6,48,62,47,91,46,76,45,46,44,-8,42,-80,41,67,40,-38,38,94,37,-39,35,59,34,122,32,-73,30,-23,28,-6,26,-42,24,-78,22,113,20,15,18,-122,15,-76,12,-31,9,-25,6,-57,3,-127,0,-12,-4,106,-7,-59,-11,7,-14,23,-18,58,-22,90,-26,122,-30,-95,-34,-55,-38,32,-41,-100,-45,70,-48,22,-51,52,-54,-104,-57,76,-59,83,-61,-74,-63,127,-64,-85,-65,68,-65,85,-65,-51,-65,-76,-64,14,-62,-43,-61,35,-58,-61,-56,-52,-53,50,-49,19,-45,46,-41,-112,-37,60,-32,27,-27,89,-22,-106,-17,-15,-12,99,-6,-39,-1,119,5,-33,10,55,16,97,21,-108,26,93,31,-8,35,65,40,67,44,8,48,85,51,67,54,-55,56,-4,58,-86,60,-19,61,-63,62,40,63,42,63,-73,62,-33,61,-91,60,10,59,22,57,-42,54,71,52,124,49,97,46,40,43,-64,39,61,36,-122,32,-43,28,33,25,100,21,-73,17,-17,13,89,10,-29,6,122,3,26,0,-12,-4,-8,-7,30,-9,103,-12,-78,-15,67,-17,-10,-20,-53,-22,-69,-24,-90,-26,-48,-28,9,-29,97,-31,-90,-33,38,-34,-85,-36,72,-37,-14,-39,-101,-40,113,-41,81,-42,82,-43,95,-44,-104,-45,-15,-46,110,-46,27,-46,-9,-47,9,-46}; }
	private static byte[] data1(){ return new byte[] {78,-46,-48,-46,-92,-45,-88,-44,-13,-43,-127,-41,87,-39,-117,-37,-18,-35,-115,-32,109,-29,-89,-26,-14,-23,114,-19,14,-15,-42,-12,-55,-8,-72,-4,-101,0,-118,4,-123,8,76,12,-7,15,121,19,-36,22,29,26,24,29,-52,31,75,34,-120,36,-99,38,88,40,-41,41,23,43,40,44,-9,44,-116,45,-11,45,51,46,68,46,56,46,-1,45,-75,45,61,45,-68,44,29,44,106,43,-97,42,-93,41,-90,40,-124,39,68,38,-63,36,48,35,112,33,126,31,84,29,-52,26,39,24,65,21,24,18,-122,14,-42,10,-28,6,-75,2,75,-2,-107,-7,-52,-12,-18,-17,-12,-22,-40,-27,-35,-32,-11,-37,47,-41,-103,-46,49,-50,44,-54,-123,-58,72,-61,-123,-64,59,-66,-116,-68,103,-69,-20,-70,-2,-70,-65,-69,19,-67,7,-65,-121,-63,-85,-60,59,-56,68,-52,-75,-48,-111,-43,-95,-38,-23,-33,78,-27,-50,-22,97,-16,-49,-11,22,-5,42,0,39,5,-79,9,-24,13,-64,17,55,21,102,24,11,27,71,29,31,31,-76,32,-48,33,-102,34,25,35,92,35,-125,35,104,35,47,35,-28,34,-93,34,79,34,7,34,-51,33,-85,33,-93,33,-72,33,-37,33,35,34,117,34,-36,34,67,35,-73,35,25,36,95,36,-109,36,-96,36,124,36,26,36,94,35,104,34,37,33,-128,31,107,29,15,27,88,24,76,21,-31,17,18,14,21,10,-28,5,126,1,-37,-4,63,-8,-88,-13,19,-17,-100,-22,54,-26,26,-30,82,-34,-48,-38,-101,-41,-32,-44,-107,-46,-73,-48,82,-49,79,-50,-42,-51,-58,-51,35,-50,-35,-50,-6,-49,96,-47,16,-45,-12,-44,12,-41,61,-39,-124,-37,-54,-35,23,-32,93,-30,-114,-28,-111,-26,-124,-24,100,-22,12,-20,-110,-19,-7,-18,68,-16,-101,-15,-57,-14,-19,-13,28,-11,117,-10,-47,-9,65,-7,-21,-6,-67,-4,-12,-2,68,1,-38,3,-71,6,-15,9,85,13,-10,16,-58,20,-51,24,-5,28,52,33,103,37,-108,41,-86,45,-122,49,30,53,102,56,69,59,-81,61,-107,63,-22,64,-96,65,-84,65,18,65,-48,63,-40,61,71,59,-23,55,24,52,-90,47,-60,42,103,37,-104,31,-104,25,101,19,25,13,-96,6,94,0,56,-6,84,-12,-69,-18,93,-23,-113,-28,63,-32,108,-36,14,-39,86,-42,59,-44,-97,-46,-92,-47,-2,-48,1,-47,99,-47,54,-46,67,-45,-84,-44,76,-42,15,-40,-24,-39,-60,-37,-96,-35,108,-33,19,-31,-94,-30,-8,-29,38,-27,26,-26,-28,-26,-128,-25,-13,-25,57,-24,103,-24,-102,-24,-78,-24,-47,-24,2,-23,83,-23,-22,-23,-100,-22,-112,-21,-55,-20,88,-18,84,-16,-114,-14,31,-11,1,-8,93,-5,-36,-2,-93,2,-100,6,-59,10,33,15,112,19,-68,23,-15,27,23,32,-14,35,-125,39,-59,42,-97,45,28,48,17,50,-121,51,122,52,-20,52,-49,52,47,52,20,51,124,49,116,47,15,45,81,42,82,39,7,36,-92,32,42,29,-92,25,41,22,-91,18,93,15,61,12,86,9,-119,6,28,4,-16,1,10,0,96,-2,-35,-4,-90,-5,-89,-6,-55,-7,8,-7,63,-8,-111,-9,-27,-10,35,-10,43,-11,42,-12,-2,-14,-107,-15,-1,-17,17,-18,4,-20,-73,-23,61,-25,-125,-28,-74,-31,-49,-34,-39,-37,-23,-40,4,-42,74,-45,-67,-48,117,-50,-118,-52,-6,-54,-36,-55,63,-55,36,-55,-74,-55,-59,-54,120,-52,-63,-50,-70,-47,52,-43,53,-39,-75,-35,-82,-30,31,-24,-54,-19,-80,-13,-67,-7,-27,-1,28,6,43,12,3,18,-100,23,-1,28,-35,33,70,38,49,42,-116,45,113,48,-99,50,59,52,59,53,-75,53,-103,53,-21,52,-46,51,66,50,93,48,39,46,-91,43,2,41,55,38,92,35,-121,32,-70,29,9,27,109,24,10,22,-40,19,-37,17,0,16,118,14,18,13,-17,11,-25,10,-18,9,38,9,105,8,-73,7,-38,6,14,6,40,5,24,4,-27,2,88,1,-70,-1,-38,-3,-58,-5,109,-7,-52,-10,7,-12,35,-15,12,-18,-42,-22,-104,-25,106,-28,54,-31,44,-34,50,-37,-124,-40,21,-42,-9,-45,49,-46,-48,-48,-27,-49,101,-49,95,-49,-42,-49,-64,-48,32,-46,-15,-45,54,-42,-46,-40,-64,-37,-6,-34,114,-30,40,-26,-16,-23,-60,-19,-99,-15,-124,-11,57,-7,-56,-4,44,0,78,3,88,6,-8,8,77,11,102,13,58,15,-62,16,-12,17,-12,18,-73,19,102,20,-37,20,43,21,120,21,-82,21,5,22,76,22,-89,22,32,23,-70,23,114,24,73,25,69,26,98,27,-96,28,-15,29,86,31,-63,32,37,34,-126,35,-60,36,-24,37,-45,38,119,39,-34,39,-12,39,-82,39,-23,38,-45,37,74,36,78,34,-25,31,-20,28,-93,25,-8,21,-24,17,117,13,-51,8,-7,3,-15,-2,-34,-7,-101,-12,-114,-17,-111,-22,-59,-27,33,-31}; }
	private static byte[] data2(){ return new byte[] {-32,-36,-9,-40,126,-43,108,-46,-55,-49,-70,-51,46,-52,38,-53,-86,-54,-90,-54,43,-53,40,-52,-104,-51,105,-49,-101,-47,22,-44,-40,-42,-57,-39,-17,-36,31,-32,99,-29,-95,-26,-21,-23,14,-19,19,-16,-7,-14,-81,-11,88,-8,-76,-6,-25,-4,-25,-2,-41,0,-120,2,16,4,126,5,-46,6,47,8,104,9,-104,10,-50,11,33,13,104,14,-74,15,36,17,-110,18,59,20,-47,21,-128,23,54,25,4,27,-66,28,124,30,32,32,-69,33,53,35,-125,36,-88,37,-114,38,62,39,-99,39,-67,39,-124,39,4,39,26,38,-18,36,102,35,-105,33,114,31,-8,28,76,26,105,23,83,20,1,17,-89,13,62,10,-56,6,90,3,-36,-1,-116,-4,101,-7,90,-10,109,-13,-53,-16,97,-18,60,-20,74,-22,-116,-24,28,-25,-16,-27,-9,-28,44,-28,-103,-29,65,-29,0,-29,-19,-30,-35,-30,-10,-30,22,-29,67,-29,106,-29,-99,-29,-56,-29,-21,-29,12,-28,41,-28,60,-28,78,-28,92,-28,109,-28,-102,-28,-63,-28,2,-27,83,-27,-29,-27,125,-26,70,-25,67,-24,109,-23,-13,-22,-106,-20,124,-18,-99,-16,27,-13,-75,-11,-114,-8,-103,-5,-49,-2,77,2,-52,5,95,9,12,13,-68,16,99,20,-25,23,86,27,-104,30,-72,33,-119,36,22,39,85,41,69,43,-43,44,3,46,-52,46,60,47,54,47,-33,46,24,46,-3,44,126,43,-75,41,-96,39,72,37,-78,34,-36,31,-21,28,-43,25,-82,22,112,19,27,16,-39,12,-96,9,120,6,72,3,78,0,112,-3,-79,-6,30,-8,-117,-11,66,-13,27,-15,28,-17,40,-19,117,-21,-32,-23,113,-24,29,-25,-45,-27,-65,-28,-69,-29,-38,-30,-6,-31,70,-31,-89,-32,31,-32,-82,-33,79,-33,18,-33,-18,-34,-23,-34,3,-33,59,-33,-103,-33,22,-32,-64,-32,-108,-31,-115,-30,-84,-29,-10,-28,121,-26,22,-24,-39,-23,-60,-21,-49,-19,21,-16,93,-14,-59,-12,58,-9,-57,-7,115,-4,15,-1,-83,1,67,4,-16,6,108,9,-34,11,49,14,111,16,-98,18,-106,20,106,22,16,24,-89,25,-9,26,35,28,30,29,-16,29,-95,30,29,31,112,31,-101,31,-88,31,-119,31,79,31,-17,30,122,30,-33,29,51,29,112,28,-107,27,-99,26,-104,25,-122,24,96,23,39,22,-48,20,111,19,8,18,-118,16,-28,14,69,13,-110,11,-52,9,-6,7,-9,5,1,4,-6,1,-29,-1,-62,-3,122,-5,69,-7,7,-9,-60,-12,116,-14,44,-16,0,-18,-54,-21,-81,-23,-108,-25,-96,-27,-59,-29,13,-30,108,-32,-2,-34,-69,-35,-91,-36,-62,-37,17,-37,-103,-38,92,-38,84,-38,-107,-38,4,-37,-74,-37,-99,-36,-58,-35,46,-33,-57,-32,-112,-30,-116,-28,-52,-26,33,-23,-95,-21,63,-18,1,-15,-19,-13,-34,-10,-43,-7,-33,-4,-25,-1,8,3,16,6,-1,8,-18,11,-49,14,-120,17,28,20,-114,22,-38,24,7,27,-7,28,-78,30,60,32,-104,33,-79,34,-116,35,50,36,-103,36,-51,36,-62,36,124,36,2,36,81,35,109,34,91,33,30,32,-75,30,33,29,115,27,-91,25,-60,23,-73,21,-81,19,-111,17,116,15,71,13,14,11,-35,8,-66,6,-106,4,113,2,95,0,99,-2,110,-4,-113,-6,-95,-8,-27,-10,45,-11,-107,-13,-2,-15,116,-16,1,-17,-85,-19,95,-20,21,-21,-15,-23,-40,-24,-40,-25,-29,-26,-1,-27,51,-27,-126,-28,-25,-29,92,-29,-9,-30,-88,-30,120,-30,107,-30,126,-30,-75,-30,12,-29,-116,-29,60,-28,10,-27,1,-26,25,-25,100,-24,-41,-23,114,-21,27,-19,-8,-18,-7,-16,11,-13,49,-11,102,-9,-74,-7,29,-4,122,-2,-39,0,49,3,-96,5,-24,7,33,10,69,12,87,14,90,16,53,18,-24,19,122,21,-17,22,69,24,108,25,112,26,69,27,10,28,-102,28,9,29,90,29,-120,29,-101,29,-112,29,104,29,39,29,-52,28,87,28,-42,27,51,27,-122,26,-83,25,-46,24,-40,23,-47,22,-108,21,89,20,-3,18,-119,17,-7,15,50,14,103,12,122,10,115,8,55,6,-11,3,-103,1,39,-1,-99,-4,-14,-7,76,-9,-97,-12,-16,-15,50,-17,-112,-20,0,-22,-121,-25,43,-27,-26,-30,-34,-32,3,-33,102,-35,2,-36,-34,-38,7,-38,119,-39,58,-39,68,-39,-91,-39,78,-38,71,-37,-124,-36,24,-34,-35,-33,-27,-31,31,-28,-107,-26,40,-23,-39,-21,-96,-18,123,-15,105,-12,75,-9,30,-6,-23,-4,-87,-1,68,2,-79,4,4,7,38,9,55,11,1,13,-93,14,19,16,110,17,-121,18,124,19,72,20,-10,20,-109,21,11,22,101,22,-73,22,-1,22,50,23,95,23,-125,23,-85,23,-55,23,-16,23,4,24,34,24,56,24,65,24,73,24,63,24,42,24,-10,23,-77,23,85,23,-38,22,55,22,104,21,116,20,97,19}; }
	private static byte[] data3(){ return new byte[] {25,18,-104,16,-6,14,50,13,68,11,42,9,-33,6,-122,4,23,2,-107,-1,-15,-4,91,-6,-50,-9,60,-11,-54,-14,77,-16,13,-18,-21,-21,-13,-23,29,-24,-121,-26,43,-27,9,-28,27,-29,106,-30,-13,-31,-64,-31,-64,-31,-16,-31,93,-30,-18,-30,-82,-29,-111,-28,-108,-27,-83,-26,-35,-25,20,-23,97,-22,-81,-21,7,-19,72,-18,-103,-17,-27,-16,39,-14,87,-13,-117,-12,-82,-11,-18,-10,13,-8,55,-7,96,-6,-91,-5,-27,-4,45,-2,-119,-1,-10,0,-112,2,39,4,-38,5,-96,7,-110,9,-128,11,-122,13,-107,15,-82,17,-37,19,-15,21,4,24,6,26,-13,27,-62,29,91,31,-42,32,13,34,18,35,-55,35,68,36,101,36,61,36,-65,35,-14,34,-44,33,100,32,-104,30,-107,28,67,26,-61,23,-2,20,6,18,-13,14,-53,11,-114,8,59,5,-7,1,-54,-2,-81,-5,-76,-8,-52,-11,36,-13,-73,-16,124,-18,114,-20,-74,-22,63,-23,8,-24,16,-25,74,-26,-53,-27,-121,-27,114,-27,-126,-27,-63,-27,39,-26,-97,-26,53,-25,-52,-25,123,-24,40,-23,-44,-23,-123,-22,37,-21,-57,-21,87,-20,-28,-20,109,-19,-22,-19,97,-18,-40,-18,95,-17,-34,-17,107,-16,2,-15,-77,-15,-119,-14,108,-13,110,-12,-114,-11,-38,-10,85,-8,-21,-7,-96,-5,123,-3,-119,-1,-96,1,-49,3,18,6,100,8,-55,10,32,13,106,15,-84,17,-38,19,-26,21,-64,23,120,25,-10,26,73,28,85,29,32,30,-85,30,-9,30,-8,30,-68,30,60,30,-127,29,-119,28,96,27,9,26,-120,24,-31,22,32,21,86,19,115,17,-108,15,-95,13,-62,11,-13,9,46,8,108,6,-43,4,78,3,-21,1,-108,0,76,-1,38,-2,24,-3,28,-4,39,-5,51,-6,76,-7,113,-8,-114,-9,-108,-10,-87,-11,-86,-12,-93,-13,-119,-14,87,-15,33,-16,-35,-18,-113,-19,50,-20,-43,-22,127,-23,41,-24,-27,-26,-84,-27,-104,-28,-105,-29,-52,-30,38,-30,-69,-31,-126,-31,-118,-31,-42,-31,112,-30,74,-29,105,-28,-44,-27,-112,-25,-121,-23,-74,-21,37,-18,-59,-16,-92,-13,-103,-10,-95,-7,-58,-4,-20,-1,38,3,70,6,74,9,56,12,12,15,-92,17,3,20,43,22,17,24,-61,25,30,27,53,28,2,29,-109,29,-37,29,-42,29,-94,29,46,29,-113,28,-62,27,-54,26,-72,25,-117,24,79,23,4,22,-74,20,106,19,18,18,-42,16,-106,15,111,14,64,13,51,12,45,11,55,10,78,9,82,8,121,7,-108,6,-71,5,-68,4,-48,3,-49,2,-57,1,-89,0,99,-1,28,-2,-65,-4,76,-5,-58,-7,27,-8,114,-10,-66,-12,-1,-14,51,-15,114,-17,-64,-19,21,-20,-127,-22,2,-23,-90,-25,117,-26,113,-27,-110,-28,-10,-29,-118,-29,91,-29,106,-29,-74,-29,58,-28,0,-27,-13,-27,51,-25,-115,-24,31,-22,-46,-21,-88,-19,-89,-17,-84,-15,-64,-13,-39,-11,7,-8,25,-6,38,-4,31,-2,1,0,-29,1,-111,3,33,5,-105,6,-7,7,43,9,65,10,51,11,18,12,-29,12,-110,13,44,14,-68,14,60,15,-58,15,60,16,-80,16,41,17,-90,17,37,18,-93,18,43,19,-80,19,60,20,-61,20,70,21,-57,21,48,22,-105,22,-36,22,26,23,40,23,26,23,-29,22,-120,22,-4,21,51,21,68,20,35,19,-55,17,67,16,112,14,-117,12,106,10,50,8,-75,5,61,3,-96,0,2,-2,78,-5,-104,-8,-18,-11,93,-13,-34,-16,115,-18,62,-20,47,-22,89,-24,-75,-26,67,-27,31,-28,47,-29,-113,-30,33,-30,-2,-31,19,-30,105,-30,-5,-30,-71,-29,-78,-28,-51,-27,18,-25,117,-24,-8,-23,-117,-21,43,-19,-44,-18,-116,-16,61,-14,-30,-13,-119,-11,29,-9,-73,-8,53,-6,-91,-5,-1,-4,103,-2,-94,-1,-37,0,3,2,36,3,76,4,94,5,108,6,118,7,-108,8,-99,9,-88,10,-71,11,-60,12,-25,13,-14,14,6,16,13,17,33,18,25,19,12,20,-19,20,-69,21,122,22,19,23,-104,23,-13,23,50,24,66,24,45,24,-18,23,-123,23,-30,22,36,22,45,21,28,20,-41,18,104,17,-35,15,59,14,119,12,-103,10,-80,8,-64,6,-53,4,-49,2,-50,0,-33,-2,1,-3,50,-5,102,-7,-56,-9,59,-10,-42,-12,-125,-13,73,-14,60,-15,73,-16,123,-17,-71,-18,35,-18,-88,-19,64,-19,-10,-20,-82,-20,-118,-20,110,-20,98,-20,96,-20,103,-20,125,-20,-109,-20,-72,-20,-31,-20,18,-19,76,-19,-117,-19,-38,-19,55,-18,-94,-18,19,-17,-95,-17,68,-16,-6,-16,-61,-15,-93,-14,-90,-13,-55,-12,4,-10,82,-9,-64,-8,88,-6,-7,-5,-77,-3,125,-1,92,1,87,3,78,5,71,7,68,9,72,11,55,13,22,15,-28,16,-105,18,57,20,-80,21,-3,22,42,24,36,25,-8,25}; }
	private static byte[] data4(){ return new byte[] {-119,26,-4,26,41,27,50,27,-3,26,-100,26,9,26,68,25,87,24,66,23,8,22,-81,20,46,19,-101,17,-11,15,64,14,124,12,-92,10,-45,8,0,7,52,5,88,3,-104,1,-31,-1,54,-2,-101,-4,-2,-6,-126,-7,27,-8,-63,-10,111,-11,59,-12,28,-13,18,-14,21,-15,33,-16,79,-17,-126,-18,-36,-19,40,-19,-95,-20,36,-20,-72,-21,100,-21,29,-21,-20,-22,-40,-22,-52,-22,-27,-22,12,-21,77,-21,-86,-21,22,-20,-83,-20,81,-19,15,-18,-26,-18,-29,-17,-22,-16,10,-14,64,-13,-121,-12,-14,-11,96,-9,-42,-8,96,-6,-18,-5,-109,-3,46,-1,-56,0,95,2,7,4,-114,5,21,7,-120,8,-19,9,87,11,-114,12,-57,13,-45,14,-26,15,-59,16,-105,17,69,18,-30,18,100,19,-55,19,20,20,68,20,96,20,97,20,70,20,31,20,-39,19,127,19,26,19,-107,18,15,18,99,17,-77,16,-9,15,37,15,77,14,84,13,95,12,89,11,76,10,32,9,-6,7,-55,6,-113,5,73,4,-16,2,-102,1,66,0,-30,-2,-128,-3,11,-4,-91,-6,64,-7,-34,-9,113,-10,26,-11,-53,-13,-122,-14,78,-15,29,-16,1,-17,1,-18,13,-19,51,-20,111,-21,-47,-22,66,-22,-36,-23,-114,-23,96,-23,92,-23,106,-23,-84,-23,1,-22,-128,-22,25,-21,-41,-21,-71,-20,-77,-19,-54,-18,-6,-17,82,-15,-77,-14,43,-12,-78,-11,78,-9,1,-7,-73,-6,111,-4,45,-2,-13,-1,-66,1,-126,3,53,5,-25,6,-106,8,45,10,-83,11,34,13,119,14,-52,15,-15,16,1,18,-13,18,-51,19,-125,20,22,21,-117,21,-35,21,21,22,36,22,23,22,-25,21,-101,21,44,21,-87,20,2,20,72,19,109,18,-127,17,-121,16,114,15,77,14,24,13,-28,11,-102,10,86,9,-17,7,-94,6,66,5,-16,3,-120,2,52,1,-29,-1,-102,-2,81,-3,9,-4,-48,-6,-91,-7,-126,-8,105,-9,78,-10,75,-11,86,-12,106,-13,-124,-14,-76,-15,-14,-16,65,-16,-102,-17,4,-17,123,-18,16,-18,-87,-19,96,-19,34,-19,1,-19,-18,-20,-9,-20,19,-19,74,-19,-108,-19,-9,-19,122,-18,12,-17,-72,-17,124,-16,84,-15,79,-14,84,-13,109,-12,-104,-11,-31,-10,44,-8,-125,-7,-24,-6,80,-4,-48,-3,69,-1,-72,0,47,2,-87,3,22,5,113,6,-54,7,15,9,86,10,123,11,-109,12,-113,13,-126,14,93,15,32,16,-56,16,91,17,-35,17,63,18,-113,18,-59,18,-23,18,-12,18,-16,18,-48,18,-90,18,94,18,12,18,-90,17,52,17,-87,16,15,16,101,15,-81,14,-21,13,6,13,35,12,41,11,42,10,14,9,-28,7,-85,6,109,5,32,4,-79,2,82,1,-39,-1,102,-2,-30,-4,81,-5,-54,-7,66,-8,-64,-10,53,-11,-62,-13,88,-14,2,-15,-70,-17,-125,-18,109,-19,113,-20,-104,-21,-36,-22,69,-22,-47,-23,-118,-23,104,-23,112,-23,-95,-23,-5,-23,122,-22,36,-21,-12,-21,-27,-20,-14,-19,34,-17,113,-16,-50,-15,66,-13,-66,-12,79,-10,-20,-9,-126,-7,31,-5,-85,-4,80,-2,-51,-1,73,1,-82,2,11,4,90,5,-111,6,-84,7,-74,8,-72,9,-108,10,98,11,22,12,-66,12,88,13,-35,13,75,14,-74,14,18,15,95,15,-94,15,-42,15,9,16,44,16,78,16,90,16,107,16,100,16,90,16,66,16,28,16,-20,15,-97,15,79,15,-27,14,112,14,-35,13,51,13,116,12,-87,11,-68,10,-73,9,-98,8,122,7,59,6,-17,4,-123,3,24,2,-88,0,39,-1,-98,-3,26,-4,-98,-6,38,-7,-72,-9,75,-10,-4,-12,-66,-13,-101,-14,-128,-15,-108,-16,-70,-17,10,-17,110,-18,-12,-19,-99,-19,102,-19,79,-19,83,-19,118,-19,-76,-19,11,-18,119,-18,-2,-18,-110,-17,52,-16,-23,-16,-94,-15,114,-14,64,-13,17,-12,-21,-12,-50,-11,-83,-10,-118,-9,108,-8,76,-7,61,-6,32,-5,12,-4,-16,-4,-12,-3,-30,-2,-35,-1,-37,0,-32,1,-7,2,13,4,35,5,70,6,112,7,-101,8,-61,9,-20,10,21,12,63,13,90,14,105,15,109,16,99,17,62,18,4,19,-85,19,56,20,-93,20,-25,20,10,21,1,21,-48,20,118,20,-12,19,72,19,120,18,114,17,87,16,20,15,-71,13,61,12,-95,10,-1,8,73,7,-111,5,-66,3,-1,1,63,0,-117,-2,-32,-4,61,-5,-77,-7,77,-8,-15,-10,-77,-11,-106,-12,-104,-13,-66,-14,-3,-15,84,-15,-45,-16,107,-16,37,-16,-27,-17,-46,-17,-58,-17,-44,-17,-13,-17,19,-16,80,-16,-120,-16,-44,-16,29,-15,116,-15,-57,-15,36,-14,-128,-14,-25,-14,77,-13,-70,-13,39,-12,-84,-12,41,-11,-75,-11,74,-10,-20,-10,-88,-9,103,-8,54,-7,19,-6,7,-5,18,-4,37,-3,70,-2,115,-1}; }
	private static byte[] data5(){ return new byte[] {-67,0,4,2,82,3,-89,4,-5,5,96,7,-82,8,-4,9,55,11,114,12,-113,13,-106,14,-122,15,90,16,18,17,-81,17,26,18,117,18,-97,18,-82,18,-110,18,95,18,-3,17,-120,17,-19,16,62,16,118,15,-109,14,-93,13,-90,12,-97,11,-117,10,113,9,83,8,63,7,38,6,12,5,-2,3,-3,2,-2,1,13,1,22,0,50,-1,93,-2,-121,-3,-63,-4,-21,-5,47,-5,109,-6,-71,-7,-17,-8,58,-8,-127,-9,-58,-10,13,-10,75,-11,-113,-12,-42,-13,31,-13,98,-14,-71,-15,13,-15,115,-16,-33,-17,94,-17,-17,-18,-109,-18,81,-18,41,-18,31,-18,48,-18,99,-18,-73,-18,53,-17,-45,-17,-115,-16,116,-15,124,-14,-95,-13,-28,-12,62,-10,-74,-9,75,-7,-26,-6,-113,-4,62,-2,-13,-1,-74,1,96,3,12,5,-99,6,51,8,-95,9,-8,10,51,12,81,13,85,14,50,15,-24,15,127,16,-11,16,72,17,116,17,-123,17,118,17,77,17,12,17,-81,16,68,16,-64,15,56,15,-106,14,-5,13,75,13,-104,12,-24,11,47,11,122,10,-65,9,5,9,84,8,-100,7,-23,6,40,6,115,5,-74,4,-2,3,44,3,105,2,-99,1,-58,0,-16,-1,-4,-2,22,-2,34,-3,44,-4,43,-5,31,-6,24,-7,17,-8,13,-9,-2,-11,5,-11,14,-12,40,-13,77,-14,126,-15,-53,-16,42,-16,-88,-17,55,-17,-17,-18,-71,-18,-81,-18,-71,-18,-17,-18,59,-17,-83,-17,54,-16,-25,-16,-85,-15,-124,-14,122,-13,124,-12,-101,-11,-66,-10,-24,-9,29,-7,93,-6,-108,-5,-54,-4,-7,-3,35,-1,78,0,99,1,107,2,103,3,94,4,62,5,11,6,-51,6,-127,7,46,8,-53,8,85,9,-39,9,83,10,-52,10,53,11,-102,11,-10,11,85,12,-91,12,-8,12,59,13,-123,13,-65,13,-9,13,34,14,72,14,90,14,105,14,96,14,79,14,38,14,-28,13,-106,13,42,13,-79,12,8,12,94,11,-115,10,-80,9,-80,8,-108,7,107,6,46,5,-29,3,121,2,17,1,-96,-1,42,-2,-79,-4,49,-5,-65,-7,90,-8,-2,-10,-84,-11,118,-12,86,-13,82,-14,103,-15,-109,-16,-24,-17,91,-17,-17,-18,-90,-18,121,-18,113,-18,-120,-18,-66,-18,17,-17,124,-17,3,-16,-100,-16,76,-15,17,-14,-34,-14,-70,-13,-101,-12,-110,-11,125,-10,118,-9,104,-8,92,-7,93,-6,74,-5,57,-4,35,-3,20,-2,-11,-2,-45,-1,-85,0,-128,1,94,2,44,3,-11,3,-63,4,-115,5,84,6,19,7,-47,7,-116,8,75,9,-3,9,-87,10,80,11,-14,11,-120,12,17,13,-116,13,-3,13,94,14,-87,14,-23,14,8,15,33,15,18,15,-3,14,-64,14,121,14,9,14,-112,13,-10,12,78,12,-119,11,-83,10,-57,9,-56,8,-53,7,-93,6,-111,5,100,4,67,3,21,2,-32,0,-70,-1,-105,-2,125,-3,95,-4,92,-5,93,-6,121,-7,-111,-8,-58,-9,-3,-10,93,-10,-72,-11,44,-11,-83,-12,70,-12,-22,-13,-99,-13,94,-13,38,-13,12,-13,-23,-14,-29,-14,-36,-14,-27,-14,-10,-14,18,-13,54,-13,104,-13,-102,-13,-32,-13,38,-12,-123,-12,-26,-12,79,-11,-52,-11,83,-10,-21,-10,-120,-9,53,-8,-14,-8,-63,-7,-100,-6,124,-5,111,-4,115,-3,123,-2,-118,-1,-95,0,-64,1,-24,2,16,4,46,5,84,6,115,7,-116,8,-112,9,-108,10,127,11,101,12,48,13,-26,13,-125,14,20,15,122,15,-44,15,7,16,40,16,39,16,14,16,-38,15,-120,15,33,15,-100,14,9,14,92,13,-97,12,-58,11,-22,10,-5,9,6,9,3,8,-12,6,-26,5,-42,4,-58,3,-89,2,-101,1,-117,0,-123,-1,-124,-2,122,-3,-117,-4,-101,-5,-69,-6,-39,-7,7,-7,70,-8,-116,-9,-35,-10,51,-10,-101,-11,17,-11,-111,-12,28,-12,-78,-13,95,-13,14,-13,-42,-14,-97,-14,-123,-14,109,-14,110,-14,121,-14,-107,-14,-59,-14,-2,-14,75,-13,-81,-13,21,-12,-101,-12,29,-11,-56,-11,107,-10,40,-9,-24,-9,-70,-8,-98,-7,-127,-6,112,-5,98,-4,92,-3,98,-2,99,-1,95,0,98,1,102,2,96,3,80,4,62,5,29,6,4,7,-49,7,-111,8,72,9,-14,9,-112,10,20,11,-112,11,-7,11,86,12,-96,12,-40,12,-2,12,26,13,32,13,27,13,0,13,-34,12,-90,12,100,12,22,12,-74,11,75,11,-43,10,86,10,-57,9,53,9,-116,8,-28,7,52,7,118,6,-81,5,-27,4,24,4,67,3,106,2,-125,1,-95,0,-64,-1,-38,-2,-11,-3,8,-3,34,-4,67,-5,101,-6,-124,-7,-77,-8,-27,-9,38,-9,105,-10,-72,-11,17,-11,-128,-12,-12,-13,124,-13,16,-13,-69,-14,114,-14,65,-14,28,-14,15,-14,22,-14,43,-14,94,-14,-101,-14,-17,-14}; }
	private static byte[] data6(){ return new byte[] {87,-13,-53,-13,97,-12,-9,-12,-87,-11,93,-10,52,-9,7,-8,-22,-8,-38,-7,-54,-6,-43,-5,-41,-4,-35,-3,-19,-2,-12,-1,12,1,22,2,29,3,28,4,38,5,17,6,1,7,-36,7,-81,8,125,9,51,10,-39,10,114,11,-5,11,113,12,-46,12,32,13,94,13,-122,13,-96,13,-98,13,-111,13,108,13,55,13,-16,12,-103,12,50,12,-74,11,51,11,-98,10,0,10,82,9,-103,8,-30,7,23,7,81,6,115,5,-96,4,-55,3,-22,2,9,2,42,1,79,0,120,-1,-98,-2,-60,-3,-14,-4,41,-4,101,-5,-91,-6,-25,-7,54,-7,-115,-8,-17,-9,82,-9,-61,-10,70,-10,-57,-11,98,-11,-12,-12,-89,-12,88,-12,33,-12,-18,-13,-49,-13,-69,-13,-70,-13,-64,-13,-31,-13,3,-12,66,-12,-125,-12,-31,-12,68,-11,-71,-11,59,-10,-55,-10,111,-9,20,-8,-50,-8,-119,-7,93,-6,47,-5,4,-4,-24,-4,-58,-3,-69,-2,-95,-1,-118,0,114,1,98,2,65,3,33,4,-14,4,-60,5,-114,6,76,7,-6,7,-98,8,56,9,-60,9,72,10,-81,10,21,11,102,11,-84,11,-31,11,3,12,32,12,33,12,38,12,11,12,-14,11,-67,11,-123,11,62,11,-18,10,-116,10,33,10,-88,9,44,9,-94,8,3,8,105,7,-65,6,14,6,88,5,-120,4,-58,3,-18,2,31,2,48,1,89,0,106,-1,-117,-2,-103,-3,-82,-4,-66,-5,-34,-6,-11,-7,20,-7,60,-8,110,-9,-83,-10,-13,-11,67,-11,-86,-12,29,-12,-90,-13,62,-13,-21,-14,-85,-14,-122,-14,114,-14,119,-14,-109,-14,-61,-14,8,-13,103,-13,-40,-13,91,-12,-12,-12,-106,-11,85,-10,21,-9,-27,-9,-66,-8,-97,-7,-115,-6,121,-5,101,-4,85,-3,74,-2,51,-1,29,0,-8,0,-42,1,-80,2,119,3,56,4,-18,4,-96,5,65,6,-40,6,94,7,-29,7,91,8,-59,8,41,9,121,9,-47,9,14,10,75,10,121,10,-93,10,-63,10,-39,10,-30,10,-21,10,-35,10,-44,10,-77,10,-111,10,100,10,30,10,-32,9,-123,9,43,9,-67,8,62,8,-70,7,37,7,-116,6,-45,5,37,5,95,4,-104,3,-56,2,-31,1,6,1,32,0,59,-1,74,-2,100,-3,127,-4,-97,-5,-58,-6,-21,-7,36,-7,101,-8,-73,-9,11,-9,122,-10,-12,-11,-123,-11,32,-11,-48,-12,-112,-12,103,-12,79,-12,67,-12,79,-12,103,-12,-111,-12,-56,-12,17,-11,95,-11,-63,-11,37,-10,-104,-10,20,-9,-105,-9,26,-8,-85,-8,63,-7,-41,-7,111,-6,10,-5,-84,-5,81,-4,-4,-4,-101,-3,73,-2,-8,-2,-86,-1,84,0,8,1,-73,1,118,2,42,3,-32,3,-107,4,81,5,7,6,-77,6,104,7,10,8,-71,8,79,9,-27,9,110,10,-21,10,94,11,-68,11,13,12,77,12,119,12,-111,12,-108,12,-125,12,89,12,27,12,-54,11,94,11,-26,10,74,10,-85,9,-16,8,46,8,87,7,113,6,-124,5,-110,4,-106,3,-108,2,-110,1,-106,0,-102,-1,-92,-2,-84,-3,-57,-4,-22,-5,26,-5,79,-6,-103,-7,-11,-8,92,-8,-43,-9,88,-9,-19,-10,-103,-10,75,-10,15,-10,-32,-11,-67,-11,-82,-11,-96,-11,-93,-11,-83,-11,-64,-11,-34,-11,0,-10,48,-10,90,-10,-102,-10,-44,-10,26,-9,108,-9,-78,-9,21,-8,112,-8,-36,-8,68,-7,-67,-7,53,-6,-58,-6,81,-5,-24,-5,-121,-4,43,-3,-28,-3,-103,-2,86,-1,23,0,-24,0,-81,1,-128,2,74,3,24,4,-22,4,-82,5,112,6,39,7,-36,7,-127,8,21,9,-96,9,26,10,-125,10,-34,10,31,11,83,11,115,11,122,11,119,11,86,11,45,11,-22,10,-103,10,61,10,-52,9,79,9,-55,8,55,8,-94,7,-3,6,89,6,-88,5,3,5,81,4,-98,3,-18,2,70,2,-104,1,-11,0,69,0,-89,-1,8,-1,112,-2,-39,-3,62,-3,-80,-4,36,-4,-103,-5,17,-5,-121,-6,13,-6,-115,-7,17,-7,-101,-8,34,-8,-72,-9,76,-9,-25,-10,-119,-10,55,-10,-25,-11,-89,-11,112,-11,65,-11,42,-11,19,-11,27,-11,42,-11,74,-11,127,-11,-60,-11,31,-10,-116,-10,6,-9,-107,-9,56,-8,-21,-8,-90,-7,115,-6,74,-5,52,-4,26,-3,18,-2,-3,-2,-4,-1,-13,0,-21,1,-41,2,-62,3,-91,4,126,5,66,6,0,7,-88,7,78,8,-44,8,80,9,-77,9,15,10,79,10,-126,10,-97,10,-82,10,-81,10,-98,10,-127,10,84,10,31,10,-37,9,-112,9,62,9,-31,8,-128,8,21,8,-85,7,58,7,-62,6,75,6,-50,5,84,5,-47,4,74,4,-60,3,56,3,-76,2,20,2,-115,1,-17,0,93,0,-64,-1,24,-1,126,-2,-44,-3,56,-3,-116,-4,-26,-5,63,-5,-98,-6,2,-6,95,-7}; }
	private static byte[] data7(){ return new byte[] {-50,-8,62,-8,-70,-9,64,-9,-51,-10,103,-10,21,-10,-56,-11,-105,-11,104,-11,88,-11,78,-11,94,-11,127,-11,-85,-11,-14,-11,62,-10,-87,-10,22,-9,-105,-9,33,-8,-71,-8,95,-7,6,-6,-70,-6,105,-5,46,-4,-26,-4,-93,-3,92,-2,24,-1,-49,-1,-118,0,44,1,-37,1,126,2,23,3,-85,3,51,4,-74,4,58,5,-87,5,24,6,124,6,-41,6,56,7,-125,7,-48,7,17,8,83,8,-119,8,-71,8,-27,8,6,9,36,9,57,9,69,9,73,9,68,9,52,9,27,9,-7,8,-58,8,-117,8,64,8,-19,7,-116,7,22,7,-101,6,18,6,125,5,-34,4,41,4,116,3,-77,2,-18,1,24,1,68,0,115,-1,-108,-2,-60,-3,-29,-4,19,-4,72,-5,-126,-6,-61,-7,16,-7,110,-8,-43,-9,80,-9,-48,-10,107,-10,19,-10,-49,-11,-99,-11,119,-11,106,-11,106,-11,126,-11,-95,-11,-46,-11,20,-10,97,-10,-68,-10,35,-9,-110,-9,12,-8,-119,-8,24,-7,-96,-7,50,-6,-58,-6,90,-5,-6,-5,-108,-4,43,-3,-56,-3,101,-2,-1,-2,-105,-1,44,0,-63,0,91,1,-21,1,123,2,6,3,-104,3,32,4,-95,4,37,5,-96,5,30,6,-109,6,0,7,102,7,-47,7,34,8,123,8,-67,8,-1,8,48,9,94,9,113,9,-118,9,-124,9,126,9,96,9,60,9,4,9,-64,8,111,8,14,8,-90,7,45,7,-91,6,28,6,126,5,-24,4,52,4,-113,3,-38,2,42,2,115,1,-75,0,5,0,76,-1,-93,-2,-22,-3,71,-3,-88,-4,15,-4,124,-5,-13,-6,107,-6,-2,-7,-117,-7,37,-7,-50,-8,125,-8,57,-8,-2,-9,-57,-9,-95,-9,127,-9,108,-9,90,-9,88,-9,90,-9,100,-9,123,-9,-109,-9,-68,-9,-28,-9,22,-8,85,-8,-105,-8,-26,-8,54,-7,-109,-7,-8,-7,104,-6,-42,-6,83,-5,-44,-5,100,-4,-12,-4,-116,-3,39,-2,-49,-2,119,-1,32,0,-52,0,123,1,48,2,-34,2,-116,3,54,4,-35,4,-124,5,23,6,-83,6,52,7,-75,7,42,8,-112,8,-22,8,58,9,115,9,-88,9,-62,9,-42,9,-41,9,-59,9,-85,9,125,9,64,9,-7,8,-95,8,65,8,-44,7,87,7,-40,6,76,6,-67,5,37,5,-126,4,-28,3,61,3,-102,2,-23,1,68,1,-100,0,-8,-1,83,-1,-82,-2,15,-2,119,-3,-27,-4,77,-4,-56,-5,66,-5,-57,-6,81,-6,-34,-7,121,-7,23,-7,-61,-8,113,-8,42,-8,-16,-9,-68,-9,-113,-9,116,-9,87,-9,79,-9,77,-9,83,-9,106,-9,-123,-9,-83,-9,-30,-9,27,-8,108,-8,-78,-8,23,-7,119,-7,-24,-7,94,-6,-40,-6,95,-5,-19,-5,-127,-4,19,-3,-81,-3,74,-2,-16,-2,-110,-1,49,0,-46,0,122,1,17,2,-78,2,62,3,-40,3,96,4,-22,4,99,5,-38,5,74,6,-82,6,9,7,88,7,-94,7,-35,7,19,8,56,8,87,8,107,8,112,8,115,8,97,8,80,8,43,8,2,8,-46,7,-112,7,82,7,-7,6,-80,6,74,6,-19,5,123,5,11,5,-107,4,25,4,-110,3,13,3,-124,2,-9,1,107,1,-49,0,63,0,-85,-1,19,-1,-120,-2,-27,-3,91,-3,-54,-4,61,-4,-75,-5,45,-5,-77,-6,59,-6,-56,-7,93,-7,-5,-8,-93,-8,82,-8,11,-8,-49,-9,-99,-9,123,-9,89,-9,82,-9,72,-9,83,-9,104,-9,-122,-9,-73,-9,-22,-9,47,-8,122,-8,-40,-8,55,-7,-89,-7,23,-6,-101,-6,32,-5,-88,-5,63,-4,-49,-4,118,-3,16,-2,-76,-2,85,-1,-5,-1,-94,0,71,1,-27,1,-124,2,35,3,-71,3,70,4,-45,4,80,5,-44,5,66,6,-82,6,11,7,101,7,-82,7,-17,7,36,8,75,8,108,8,127,8,-126,8,-126,8,109,8,84,8,44,8,-5,7,-63,7,120,7,43,7,-45,6,115,6,11,6,-104,5,42,5,-85,4,47,4,-89,3,29,3,-103,2,8,2,121,1,-23,0,92,0,-50,-1,65,-1,-78,-2,38,-2,-90,-3,28,-3,-90,-4,32,-4,-82,-5,62,-5,-46,-6,108,-6,13,-6,-71,-7,103,-7,35,-7,-35,-8,-86,-8,120,-8,86,-8,53,-8,36,-8,26,-8,26,-8,33,-8,59,-8,82,-8,125,-8,-84,-8,-23,-8,44,-7,123,-7,-51,-7,44,-6,-104,-6,2,-5,121,-5,-14,-5,120,-4,-3,-4,-120,-3,19,-2,-92,-2,60,-1,-50,-1,95,0,-10,0,-122,1,27,2,-96,2,43,3,-84,3,46,4,-90,4,20,5,-128,5,-33,5,61,6,-114,6,-43,6,20,7,77,7,119,7,-100,7,-78,7,-59,7,-55,7,-56,7,-72,7,-89,7,-125,7,96,7,44,7,-8,6,-76,6,111,6,27,6,-56,5,105,5,2,5,-105,4,41,4,-76,3}; }
	private static byte[] data8(){ return new byte[] {55,3,-72,2,46,2,-82,1,30,1,-111,0,-1,-1,113,-1,-34,-2,81,-2,-73,-3,47,-3,-100,-4,26,-4,-115,-5,14,-5,-105,-6,30,-6,-69,-7,78,-7,-9,-8,-89,-8,94,-8,42,-8,-14,-9,-44,-9,-68,-9,-80,-9,-72,-9,-64,-9,-29,-9,4,-8,65,-8,122,-8,-50,-8,28,-7,-127,-7,-21,-7,92,-6,-43,-6,83,-5,-40,-5,101,-4,-15,-4,127,-3,17,-2,-92,-2,57,-1,-62,-1,85,0,-37,0,106,1,-19,1,104,2,-26,2,90,3,-51,3,48,4,-107,4,-17,4,70,5,-105,5,-40,5,32,6,85,6,-115,6,-78,6,-35,6,-12,6,17,7,30,7,36,7,42,7,30,7,20,7,-5,6,-31,6,-71,6,-114,6,84,6,31,6,-47,5,-111,5,44,5,-35,4,114,4,12,4,-106,3,32,3,-92,2,35,2,-97,1,13,1,-121,0,-11,-1,106,-1,-45,-2,72,-2,-69,-3,51,-3,-82,-4,42,-4,-83,-5,61,-5,-51,-6,103,-6,11,-6,-73,-7,113,-7,48,-7,-4,-8,-48,-8,-77,-8,-98,-8,-110,-8,-107,-8,-97,-8,-77,-8,-47,-8,-7,-8,37,-7,99,-7,-104,-7,-26,-7,44,-6,-123,-6,-44,-6,52,-5,-108,-5,-6,-5,94,-4,-54,-4,49,-3,-86,-3,22,-2,-116,-2,-4,-2,121,-1,-19,-1,100,0,-37,0,81,1,-50,1,68,2,-72,2,45,3,-93,3,17,4,126,4,-25,4,73,5,-81,5,4,6,90,6,-91,6,-22,6,38,7,86,7,-127,7,-102,7,-78,7,-77,7,-76,7,-97,7,-126,7,89,7,37,7,-31,6,-102,6,59,6,-36,5,113,5,-5,4,-127,4,-7,3,112,3,-30,2,82,2,-73,1,34,1,-115,0,-9,-1,101,-1,-48,-2,65,-2,-65,-3,57,-3,-67,-4,68,-4,-37,-5,117,-5,25,-5,-61,-6,116,-6,52,-6,-5,-7,-61,-7,-95,-7,119,-7,106,-7,77,-7,76,-7,67,-7,77,-7,84,-7,104,-7,126,-7,-100,-7,-63,-7,-26,-7,28,-6,73,-6,-120,-6,-62,-6,12,-5,85,-5,-95,-5,-7,-5,74,-4,-74,-4,15,-3,-128,-3,-30,-3,92,-2,-53,-2,75,-1,-65,-1,64,0,-65,0,66,1,-67,1,63,2,-69,2,58,3,-79,3,36,4,-110,4,-1,4,94,5,-72,5,10,6,80,6,-110,6,-58,6,-18,6,14,7,34,7,42,7,40,7,27,7,1,7,-33,6,-78,6,124,6,62,6,-12,5,-89,5,80,5,-9,4,-106,4,46,4,-58,3,90,3,-18,2,121,2,9,2,-101,1,38,1,-67,0,65,0,-39,-1,106,-1,2,-1,-106,-2,47,-2,-59,-3,107,-3,5,-3,-87,-4,77,-4,-8,-5,-90,-5,84,-5,8,-5,-67,-6,125,-6,61,-6,3,-6,-49,-7,-95,-7,124,-7,91,-7,67,-7,53,-7,42,-7,49,-7,55,-7,82,-7,108,-7,-105,-7,-56,-7,11,-6,76,-6,-91,-6,-10,-6,101,-5,-54,-5,66,-4,-70,-4,57,-3,-57,-3,77,-2,-36,-2,108,-1,-7,-1,-110,0,28,1,-84,1,51,2,-68,2,61,3,-78,3,38,4,-116,4,-9,4,71,5,-100,5,-35,5,27,6,79,6,112,6,-109,6,-96,6,-79,6,-82,6,-89,6,-106,6,127,6,92,6,59,6,8,6,-38,5,-99,5,96,5,32,5,-41,4,-115,4,60,4,-19,3,-104,3,66,3,-30,2,-121,2,40,2,-57,1,96,1,-8,0,-107,0,41,0,-61,-1,82,-1,-26,-2,126,-2,15,-2,-88,-3,57,-3,-46,-4,109,-4,14,-4,-89,-5,84,-5,-6,-6,-80,-6,103,-6,33,-6,-18,-7,-74,-7,-107,-7,112,-7,97,-7,82,-7,83,-7,92,-7,111,-7,-111,-7,-77,-7,-21,-7,33,-6,105,-6,-77,-6,4,-5,98,-5,-64,-5,44,-4,-114,-4,5,-3,111,-3,-20,-3,88,-2,-47,-2,68,-1,-69,-1,47,0,-100,0,12,1,120,1,-31,1,67,2,-97,2,-2,2,83,3,-87,3,-15,3,59,4,124,4,-67,4,-10,4,42,5,86,5,-124,5,-93,5,-57,5,-36,5,-14,5,-2,5,6,6,9,6,1,6,-8,5,-29,5,-52,5,-86,5,-124,5,81,5,29,5,-37,4,-99,4,69,4,-8,3,-103,3,57,3,-43,2,97,2,-15,1,122,1,2,1,124,0,6,0,125,-1,4,-1,-128,-2,1,-2,-126,-3,16,-3,-107,-4,43,-4,-69,-5,97,-5,3,-5,-77,-6,104,-6,39,-6,-14,-7,-57,-7,-95,-7,-114,-7,120,-7,124,-7,121,-7,-112,-7,-94,-7,-56,-7,-20,-7,33,-6,89,-6,-106,-6,-33,-6,37,-5,123,-5,-52,-5,36,-4,-128,-4,-36,-4,66,-3,-95,-3,5,-2,106,-2,-46,-2,56,-1,-99,-1,0,0,103,0,-52,0,48,1,-111,1,-18,1,81,2,-84,2,4,3,89,3,-86,3,0,4,69,4,-109,4,-52,4,19,5,67,5,122,5,-95,5,-57,5,-28,5,-6,5}; }
	private static byte[] data9(){ return new byte[] {7,6,15,6,10,6,2,6,-20,5,-44,5,-83,5,-127,5,77,5,16,5,-50,4,-126,4,47,4,-40,3,122,3,25,3,-82,2,71,2,-41,1,109,1,-8,0,-123,0,23,0,-94,-1,58,-1,-62,-2,94,-2,-10,-3,-109,-3,54,-3,-40,-4,-126,-4,56,-4,-24,-5,-88,-5,101,-5,52,-5,-4,-6,-39,-6,-84,-6,-108,-6,121,-6,104,-6,95,-6,88,-6,90,-6,98,-6,111,-6,-125,-6,-99,-6,-68,-6,-33,-6,13,-5,59,-5,115,-5,-83,-5,-19,-5,53,-4,-128,-4,-51,-4,34,-3,121,-3,-40,-3,57,-2,-104,-2,2,-1,106,-1,-41,-1,64,0,-83,0,25,1,-119,1,-13,1,94,2,-62,2,43,3,-118,3,-27,3,61,4,-116,4,-39,4,28,5,90,5,-115,5,-66,5,-36,5,-2,5,10,6,26,6,21,6,17,6,-4,5,-27,5,-65,5,-105,5,98,5,42,5,-23,4,-97,4,84,4,-2,3,-86,3,76,3,-20,2,-120,2,36,2,-68,1,83,1,-26,0,-125,0,21,0,-80,-1,69,-1,-32,-2,126,-2,29,-2,-67,-3,99,-3,13,-3,-68,-4,108,-4,35,-4,-36,-5,-98,-5,102,-5,43,-5,3,-5,-43,-6,-73,-6,-103,-6,-125,-6,117,-6,108,-6,109,-6,111,-6,-128,-6,-112,-6,-85,-6,-51,-6,-11,-6,36,-5,88,-5,-111,-5,-42,-5,29,-4,100,-4,-72,-4,9,-3,104,-3,-61,-3,32,-2,-124,-2,-27,-2,81,-1,-78,-1,31,0,123,0,-17,0,73,1,-80,1,13,2,106,2,-59,2,27,3,106,3,-75,3,1,4,62,4,124,4,-81,4,-33,4,7,5,44,5,67,5,91,5,102,5,110,5,111,5,100,5,92,5,66,5,43,5,10,5,-30,4,-76,4,-125,4,74,4,15,4,-50,3,-125,3,59,3,-19,2,-102,2,68,2,-21,1,-109,1,52,1,-37,0,116,0,24,0,-74,-1,88,-1,-9,-2,-104,-2,56,-2,-32,-3,-122,-3,46,-3,-37,-4,-114,-4,66,-4,-3,-5,-71,-5,-128,-5,70,-5,26,-5,-22,-6,-51,-6,-85,-6,-102,-6,-121,-6,-124,-6,-127,-6,-117,-6,-105,-6,-80,-6,-51,-6,-17,-6,31,-5,73,-5,-115,-5,-62,-5,11,-4,83,-4,-92,-4,-9,-4,80,-3,-90,-3,9,-2,105,-2,-49,-2,47,-1,-103,-1,-8,-1,107,0,-59,0,50,1,-117,1,-10,1,78,2,-85,2,-4,2,82,3,-98,3,-23,3,43,4,99,4,-94,4,-52,4,-7,4,28,5,52,5,77,5,88,5,94,5,97,5,84,5,72,5,48,5,21,5,-15,4,-57,4,-106,4,99,4,39,4,-25,3,-97,3,91,3,12,3,-67,2,104,2,15,2,-68,1,96,1,3,1,-89,0,74,0,-14,-1,-111,-1,59,-1,-40,-2,-118,-2,46,-2,-32,-3,-119,-3,61,-3,-11,-4,-83,-4,108,-4,43,-4,-10,-5,-65,-5,-107,-5,102,-5,68,-5,39,-5,15,-5,-4,-6,-15,-6,-22,-6,-17,-6,-16,-6,6,-5,19,-5,49,-5,81,-5,120,-5,-91,-5,-39,-5,13,-4,77,-4,-113,-4,-40,-4,32,-3,113,-3,-59,-3,26,-2,115,-2,-54,-2,42,-1,-124,-1,-25,-1,63,0,-97,0,-2,0,87,1,-79,1,5,2,88,2,-83,2,-10,2,65,3,-125,3,-65,3,-1,3,47,4,97,4,-120,4,-85,4,-53,4,-35,4,-13,4,-8,4,0,5,-4,4,-12,4,-24,4,-49,4,-70,4,-107,4,117,4,71,4,24,4,-30,3,-86,3,108,3,40,3,-31,2,-103,2,76,2,-4,1,-89,1,80,1,-3,0,-97,0,72,0,-25,-1,-112,-1,53,-1,-41,-2,127,-2,32,-2,-47,-3,120,-3,39,-3,-41,-4,-113,-4,72,-4,10,-4,-54,-5,-106,-5,100,-5,62,-5,23,-5,-1,-6,-25,-6,-38,-6,-41,-6,-44,-6,-31,-6,-16,-6,8,-5,38,-5,80,-5,119,-5,-79,-5,-29,-5,40,-4,106,-4,-78,-4,-1,-4,78,-3,-93,-3,-5,-3,80,-2,-85,-2,6,-1,99,-1,-72,-1,23,0,107,0,-56,0,27,1,111,1,-69,1,17,2,85,2,-97,2,-35,2,32,3,87,3,-108,3,-67,3,-16,3,23,4,59,4,90,4,114,4,-122,4,-101,4,-98,4,-86,4,-90,4,-94,4,-103,4,-122,4,116,4,87,4,58,4,17,4,-21,3,-69,3,-122,3,77,3,15,3,-51,2,-118,2,60,2,-17,1,-96,1,77,1,-7,0,-99,0,73,0,-21,-1,-106,-1,56,-1,-33,-2,-117,-2,52,-2,-30,-3,-110,-3,64,-3,1,-3,-78,-4,125,-4,58,-4,12,-4,-38,-5,-77,-5,-111,-5,114,-5,97,-5,79,-5,71,-5,71,-5,73,-5,85,-5,103,-5,121,-5,-101,-5,-72,-5,-31,-5,10,-4,60,-4,111,-4,-90,-4,-30,-4,33,-3,98,-3,-89,-3,-22,-3,53,-2,127,-2,-53,-2,22,-1,102,-1,-76,-1,7,0,80,0,-94,0,-16,0}; }
	private static byte[] data10(){ return new byte[] {61,1,-110,1,-45,1,37,2,107,2,-77,2,-11,2,54,3,113,3,-82,3,-29,3,16,4,66,4,99,4,-120,4,-94,4,-76,4,-57,4,-51,4,-53,4,-53,4,-73,4,-88,4,-118,4,103,4,66,4,15,4,-36,3,-101,3,96,3,22,3,-51,2,126,2,38,2,-39,1,122,1,36,1,-60,0,112,0,16,0,-72,-1,95,-1,1,-1,-72,-2,91,-2,18,-2,-61,-3,126,-3,62,-3,-4,-4,-58,-4,-115,-4,98,-4,55,-4,18,-4,-14,-5,-39,-5,-60,-5,-76,-5,-85,-5,-94,-5,-90,-5,-90,-5,-79,-5,-63,-5,-51,-5,-22,-5,-3,-5,37,-4,65,-4,109,-4,-108,-4,-57,-4,-10,-4,49,-3,99,-3,-89,-3,-29,-3,43,-2,106,-2,-70,-2,-5,-2,82,-1,-102,-1,-20,-1,59,0,-114,0,-31,0,43,1,-127,1,-55,1,27,2,99,2,-86,2,-20,2,48,3,103,3,-94,3,-49,3,-2,3,34,4,69,4,92,4,113,4,125,4,-124,4,-125,4,123,4,112,4,88,4,66,4,32,4,-4,3,-47,3,-95,3,109,3,55,3,-5,2,-69,2,122,2,53,2,-13,1,-90,1,94,1,23,1,-53,0,-124,0,54,0,-20,-1,-92,-1,93,-1,22,-1,-49,-2,-119,-2,74,-2,8,-2,-57,-3,-112,-3,79,-3,35,-3,-27,-4,-69,-4,-120,-4,99,-4,57,-4,26,-4,-8,-5,-28,-5,-54,-5,-65,-5,-80,-5,-82,-5,-83,-5,-78,-5,-63,-5,-49,-5,-23,-5,5,-4,39,-4,85,-4,-127,-4,-74,-4,-16,-4,46,-3,117,-3,-70,-3,4,-2,85,-2,-90,-2,-4,-2,79,-1,-88,-1,-6,-1,89,0,-86,0,3,1,83,1,-88,1,-13,1,64,2,-125,2,-56,2,4,3,63,3,111,3,-97,3,-58,3,-21,3,2,4,30,4,41,4,56,4,62,4,56,4,57,4,40,4,27,4,7,4,-21,3,-48,3,-85,3,-119,3,92,3,52,3,-2,2,-49,2,-102,2,96,2,41,2,-25,1,-85,1,108,1,40,1,-26,0,-98,0,91,0,22,0,-50,-1,-122,-1,63,-1,-6,-2,-77,-2,112,-2,41,-2,-25,-3,-86,-3,107,-3,46,-3,-5,-4,-63,-4,-104,-4,103,-4,69,-4,30,-4,4,-4,-19,-5,-39,-5,-47,-5,-54,-5,-57,-5,-43,-5,-38,-5,-14,-5,10,-4,37,-4,79,-4,115,-4,-91,-4,-43,-4,13,-3,74,-3,-122,-3,-52,-3,8,-2,90,-2,-105,-2,-23,-2,43,-1,122,-1,-62,-1,16,0,81,0,-94,0,-33,0,45,1,102,1,-84,1,-29,1,36,2,88,2,-115,2,-66,2,-22,2,23,3,61,3,95,3,127,3,-101,3,-79,3,-58,3,-44,3,-33,3,-25,3,-23,3,-25,3,-32,3,-40,3,-61,3,-75,3,-104,3,124,3,92,3,48,3,11,3,-40,2,-93,2,110,2,48,2,-12,1,-81,1,107,1,31,1,-38,0,-117,0,61,0,-18,-1,-95,-1,83,-1,5,-1,-74,-2,108,-2,35,-2,-33,-3,-104,-3,90,-3,29,-3,-20,-4,-77,-4,-117,-4,94,-4,63,-4,34,-4,13,-4,-8,-5,-15,-5,-22,-5,-22,-5,-12,-5,-4,-5,16,-4,41,-4,61,-4,104,-4,-123,-4,-80,-4,-32,-4,12,-3,68,-3,121,-3,-81,-3,-18,-3,41,-2,108,-2,-89,-2,-20,-2,45,-1,114,-1,-76,-1,-12,-1,57,0,124,0,-66,0,0,1,57,1,-126,1,-76,1,-7,1,38,2,102,2,-110,2,-55,2,-13,2,28,3,71,3,102,3,-123,3,-95,3,-77,3,-55,3,-47,3,-36,3,-38,3,-35,3,-51,3,-57,3,-80,3,-101,3,124,3,91,3,51,3,13,3,-41,2,-88,2,106,2,55,2,-13,1,-71,1,112,1,54,1,-22,0,-82,0,95,0,32,0,-33,-1,-102,-1,88,-1,14,-1,-44,-2,-113,-2,85,-2,22,-2,-38,-3,-88,-3,112,-3,67,-3,20,-3,-20,-4,-57,-4,-87,-4,-120,-4,116,-4,96,-4,80,-4,74,-4,64,-4,70,-4,70,-4,83,-4,97,-4,115,-4,-116,-4,-88,-4,-58,-4,-15,-4,19,-3,70,-3,109,-3,-85,-3,-39,-3,23,-2,79,-2,-116,-2,-49,-2,14,-1,79,-1,-111,-1,-38,-1,22,0,98,0,-102,0,-29,0,33,1,98,1,-98,1,-39,1,18,2,73,2,123,2,-88,2,-39,2,-4,2,37,3,68,3,93,3,121,3,-118,3,-102,3,-95,3,-87,3,-91,3,-89,3,-103,3,-114,3,120,3,100,3,72,3,41,3,6,3,-35,2,-78,2,-124,2,82,2,32,2,-27,1,-84,1,113,1,49,1,-11,0,-80,0,116,0,45,0,-13,-1,-90,-1,111,-1,39,-1,-18,-2,-86,-2,113,-2,54,-2,0,-2,-53,-3,-104,-3,103,-3,65,-3,19,-3,-13,-4,-46,-4,-77,-4,-92,-4,-122,-4,-127,-4,111,-4,112,-4,106,-4,114,-4,120,-4,-122,-4,-105,-4,-83,-4,-58,-4,-23,-4,5,-3}; }
	private static byte[] data11(){ return new byte[] {49,-3,86,-3,-119,-3,-77,-3,-21,-3,29,-2,89,-2,-110,-2,-49,-2,10,-1,75,-1,-118,-1,-52,-1,11,0,76,0,-117,0,-50,0,7,1,70,1,-128,1,-70,1,-16,1,38,2,82,2,-120,2,-84,2,-40,2,-7,2,23,3,57,3,71,3,101,3,106,3,125,3,122,3,-124,3,120,3,121,3,101,3,90,3,64,3,44,3,10,3,-22,2,-57,2,-100,2,116,2,63,2,18,2,-39,1,-87,1,103,1,53,1,-17,0,-67,0,117,0,62,0,-9,-1,-66,-1,126,-1,63,-1,4,-1,-57,-2,-116,-2,89,-2,28,-2,-18,-3,-68,-3,-114,-3,104,-3,58,-3,29,-3,-7,-4,-31,-4,-56,-4,-76,-4,-88,-4,-103,-4,-104,-4,-110,-4,-104,-4,-99,-4,-85,-4,-74,-4,-45,-4,-32,-4,7,-3,31,-3,71,-3,111,-3,-106,-3,-57,-3,-10,-3,43,-2,95,-2,-107,-2,-47,-2,9,-1,74,-1,-128,-1,-61,-1,-4,-1,61,0,123,0,-76,0,-13,0,43,1,103,1,-102,1,-47,1,3,2,48,2,99,2,-123,2,-79,2,-46,2,-14,2,11,3,37,3,52,3,73,3,78,3,89,3,87,3,88,3,80,3,67,3,57,3,32,3,14,3,-17,2,-49,2,-78,2,-124,2,97,2,49,2,4,2,-47,1,-98,1,101,1,48,1,-8,0,-74,0,-124,0,63,0,11,0,-53,-1,-115,-1,85,-1,24,-1,-30,-2,-87,-2,114,-2,62,-2,14,-2,-33,-3,-78,-3,-120,-3,101,-3,63,-3,37,-3,6,-3,-16,-4,-34,-4,-51,-4,-61,-4,-67,-4,-71,-4,-67,-4,-64,-4,-50,-4,-40,-4,-16,-4,0,-3,32,-3,60,-3,92,-3,-125,-3,-87,-3,-41,-3,3,-2,53,-2,100,-2,-97,-2,-48,-2,13,-1,64,-1,126,-1,-71,-1,-14,-1,46,0,105,0,-93,0,-35,0,21,1,72,1,-127,1,-78,1,-28,1,17,2,60,2,100,2,-117,2,-83,2,-54,2,-26,2,-5,2,18,3,29,3,44,3,46,3,55,3,47,3,47,3,35,3,19,3,8,3,-23,2,-38,2,-75,2,-104,2,116,2,76,2,34,2,-8,1,-61,1,-104,1,98,1,45,1,-10,0,-66,0,-123,0,78,0,18,0,-41,-1,-96,-1,103,-1,46,-1,-7,-2,-64,-2,-114,-2,94,-2,41,-2,0,-2,-44,-3,-84,-3,-119,-3,99,-3,74,-3,44,-3,23,-3,3,-3,-11,-4,-25,-4,-28,-4,-36,-4,-31,-4,-29,-4,-17,-4,-8,-4,14,-3,28,-3,61,-3,80,-3,119,-3,-108,-3,-64,-3,-30,-3,19,-2,59,-2,112,-2,-93,-2,-48,-2,15,-1,58,-1,127,-1,-85,-1,-22,-1,33,0,86,0,-107,0,-60,0,-2,0,53,1,98,1,-102,1,-63,1,-13,1,27,2,68,2,102,2,-118,2,-91,2,-62,2,-42,2,-20,2,-8,2,6,3,12,3,16,3,15,3,13,3,-1,2,-7,2,-27,2,-47,2,-67,2,-100,2,-124,2,94,2,61,2,17,2,-23,1,-66,1,-116,1,94,1,40,1,-9,0,-64,0,-113,0,79,0,32,0,-29,-1,-78,-1,117,-1,67,-1,12,-1,-37,-2,-87,-2,119,-2,71,-2,32,-2,-12,-3,-51,-3,-86,-3,-121,-3,109,-3,81,-3,59,-3,40,-3,23,-3,15,-3,3,-3,4,-3,0,-3,6,-3,13,-3,26,-3,39,-3,63,-3,78,-3,111,-3,-119,-3,-87,-3,-47,-3,-16,-3,35,-2,69,-2,121,-2,-91,-2,-43,-2,14,-1,59,-1,117,-1,-88,-1,-35,-1,24,0,71,0,-126,0,-78,0,-22,0,26,1,76,1,122,1,-86,1,-45,1,-3,1,34,2,69,2,104,2,-127,2,-97,2,-78,2,-55,2,-44,2,-28,2,-25,2,-17,2,-19,2,-21,2,-30,2,-38,2,-59,2,-69,2,-98,2,-119,2,108,2,74,2,42,2,3,2,-34,1,-79,1,-122,1,86,1,38,1,-7,0,-65,0,-111,0,89,0,41,0,-16,-1,-67,-1,-120,-1,85,-1,35,-1,-17,-2,-65,-2,-109,-2,101,-2,60,-2,17,-2,-18,-3,-54,-3,-86,-3,-113,-3,113,-3,96,-3,73,-3,61,-3,47,-3,39,-3,36,-3,33,-3,40,-3,43,-3,55,-3,70,-3,84,-3,110,-3,-126,-3,-95,-3,-66,-3,-34,-3,6,-2,41,-2,84,-2,-128,-2,-87,-2,-33,-2,7,-1,64,-1,107,-1,-92,-1,-42,-1,7,0,63,0,110,0,-90,0,-47,0,8,1,47,1,104,1,-120,1,-68,1,-38,1,7,2,37,2,71,2,96,2,124,2,-111,2,-90,2,-78,2,-63,2,-58,2,-50,2,-51,2,-53,2,-59,2,-71,2,-80,2,-103,2,-116,2,109,2,89,2,54,2,26,2,-12,1,-48,1,-91,1,-128,1,78,1,37,1,-14,0,-58,0,-111,0,100,0,43,0,-2,-1,-57,-1,-102,-1,102,-1,53,-1,6,-1,-43,-2,-83,-2,126,-2,86,-2,48,-2,10,-2,-20,-3,-55,-3}; }
	private static byte[] data12(){ return new byte[] {-82,-3,-107,-3,126,-3,110,-3,91,-3,81,-3,74,-3,65,-3,70,-3,64,-3,78,-3,81,-3,98,-3,112,-3,-124,-3,-102,-3,-75,-3,-49,-3,-12,-3,15,-2,59,-2,91,-2,-118,-2,-79,-2,-34,-2,13,-1,59,-1,108,-1,-99,-1,-53,-1,0,0,48,0,97,0,-109,0,-65,0,-13,0,29,1,74,1,116,1,-101,1,-60,1,-27,1,9,2,37,2,68,2,91,2,112,2,-123,2,-111,2,-95,2,-89,2,-84,2,-80,2,-86,2,-86,2,-100,2,-108,2,-126,2,113,2,90,2,65,2,39,2,5,2,-25,1,-62,1,-99,1,116,1,77,1,29,1,-11,0,-59,0,-109,0,104,0,53,0,7,0,-42,-1,-92,-1,119,-1,70,-1,27,-1,-19,-2,-63,-2,-104,-2,113,-2,76,-2,39,-2,6,-2,-24,-3,-49,-3,-77,-3,-95,-3,-120,-3,-127,-3,109,-3,107,-3,97,-3,97,-3,98,-3,103,-3,111,-3,124,-3,-120,-3,-100,-3,-79,-3,-55,-3,-29,-3,2,-2,31,-2,71,-2,102,-2,-110,-2,-75,-2,-27,-2,14,-1,60,-1,102,-1,-103,-1,-60,-1,-7,-1,35,0,82,0,-121,0,-84,0,-30,0,5,1,52,1,93,1,-126,1,-87,1,-54,1,-23,1,12,2,33,2,63,2,80,2,101,2,117,2,126,2,-117,2,-117,2,-108,2,-116,2,-113,2,127,2,124,2,104,2,89,2,71,2,42,2,23,2,-12,1,-39,1,-74,1,-112,1,111,1,65,1,32,1,-19,0,-55,0,-108,0,112,0,57,0,17,0,-34,-1,-76,-1,-123,-1,89,-1,43,-1,1,-1,-41,-2,-78,-2,-122,-2,103,-2,65,-2,35,-2,6,-2,-21,-3,-47,-3,-67,-3,-84,-3,-102,-3,-112,-3,-121,-3,126,-3,-127,-3,124,-3,-124,-3,-118,-3,-108,-3,-95,-3,-77,-3,-59,-3,-33,-3,-14,-3,21,-2,45,-2,82,-2,115,-2,-106,-2,-64,-2,-25,-2,14,-1,61,-1,101,-1,-108,-1,-63,-1,-22,-1,27,0,72,0,115,0,-95,0,-54,0,-11,0,32,1,68,1,107,1,-114,1,-79,1,-48,1,-20,1,8,2,30,2,55,2,69,2,86,2,98,2,107,2,114,2,115,2,116,2,111,2,106,2,95,2,82,2,68,2,45,2,28,2,0,2,-25,1,-53,1,-89,1,-118,1,98,1,64,1,22,1,-17,0,-60,0,-99,0,109,0,70,0,19,0,-17,-1,-67,-1,-110,-1,106,-1,58,-1,24,-1,-21,-2,-58,-2,-95,-2,124,-2,95,-2,59,-2,34,-2,6,-2,-18,-3,-36,-3,-58,-3,-70,-3,-84,-3,-94,-3,-96,-3,-107,-3,-96,-3,-103,-3,-91,-3,-82,-3,-74,-3,-50,-3,-42,-3,-14,-3,6,-2,34,-2,62,-2,92,-2,127,-2,-97,-2,-57,-2,-23,-2,18,-1,61,-1,99,-1,-112,-1,-72,-1,-25,-1,17,0,59,0,101,0,-111,0,-71,0,-27,0,8,1,47,1,85,1,120,1,-107,1,-71,1,-50,1,-18,1,3,2,24,2,42,2,58,2,68,2,80,2,84,2,89,2,89,2,84,2,82,2,69,2,61,2,42,2,29,2,6,2,-16,1,-40,1,-71,1,-98,1,126,1,90,1,59,1,15,1,-17,0,-61,0,-99,0,114,0,72,0,33,0,-14,-1,-51,-1,-100,-1,123,-1,75,-1,41,-1,-3,-2,-37,-2,-72,-2,-107,-2,117,-2,86,-2,59,-2,33,-2,12,-2,-13,-3,-27,-3,-43,-3,-57,-3,-62,-3,-74,-3,-75,-3,-74,-3,-75,-3,-66,-3,-59,-3,-49,-3,-34,-3,-16,-3,1,-2,26,-2,47,-2,78,-2,104,-2,-119,-2,-89,-2,-51,-2,-18,-2,23,-1,59,-1,99,-1,-116,-1,-75,-1,-35,-1,9,0,46,0,92,0,-126,0,-86,0,-47,0,-11,0,29,1,61,1,97,1,126,1,-97,1,-73,1,-44,1,-26,1,-1,1,13,2,32,2,40,2,54,2,55,2,65,2,60,2,64,2,52,2,50,2,35,2,24,2,9,2,-14,1,-32,1,-57,1,-83,1,-110,1,115,1,81,1,52,1,12,1,-22,0,-61,0,-100,0,119,0,78,0,37,0,-4,-1,-44,-1,-83,-1,-123,-1,95,-1,53,-1,20,-1,-19,-2,-51,-2,-87,-2,-113,-2,108,-2,86,-2,58,-2,35,-2,18,-2,-3,-3,-15,-3,-30,-3,-39,-3,-44,-3,-51,-3,-47,-3,-51,-3,-42,-3,-37,-3,-26,-3,-13,-3,3,-2,19,-2,43,-2,63,-2,91,-2,116,-2,-111,-2,-77,-2,-47,-2,-9,-2,22,-1,61,-1,99,-1,-120,-1,-77,-1,-44,-1,0,0,38,0,79,0,117,0,-103,0,-62,0,-27,0,8,1,43,1,71,1,108,1,-125,1,-93,1,-73,1,-48,1,-29,1,-12,1,5,2,14,2,27,2,32,2,35,2,41,2,32,2,36,2,22,2,18,2,1,2,-10,1,-33,1,-45,1,-75,1,-94,1,-125,1,105,1,75,1,44,1,7,1,-25,0,-62,0,-97,0}; }
	private static byte[] data13(){ return new byte[] {119,0,81,0,43,0,7,0,-36,-1,-70,-1,-113,-1,108,-1,73,-1,36,-1,0,-1,-31,-2,-66,-2,-92,-2,-123,-2,108,-2,81,-2,64,-2,39,-2,25,-2,9,-2,-4,-3,-11,-3,-22,-3,-22,-3,-29,-3,-22,-3,-21,-3,-15,-3,-3,-3,5,-2,22,-2,39,-2,58,-2,78,-2,104,-2,127,-2,-99,-2,-69,-2,-41,-2,-6,-2,27,-1,64,-1,97,-1,-120,-1,-87,-1,-43,-1,-10,-1,31,0,66,0,104,0,-113,0,-79,0,-44,0,-11,0,24,1,53,1,85,1,110,1,-119,1,-94,1,-74,1,-53,1,-37,1,-19,1,-12,1,2,2,6,2,14,2,13,2,13,2,9,2,4,2,-6,1,-16,1,-32,1,-46,1,-65,1,-87,1,-110,1,123,1,94,1,66,1,35,1,5,1,-30,0,-61,0,-99,0,122,0,85,0,51,0,8,0,-21,-1,-66,-1,-95,-1,119,-1,88,-1,49,-1,22,-1,-16,-2,-42,-2,-76,-2,-100,-2,-126,-2,107,-2,83,-2,67,-2,46,-2,35,-2,22,-2,10,-2,6,-2,-2,-3,0,-2,-5,-3,5,-2,4,-2,19,-2,25,-2,38,-2,58,-2,70,-2,98,-2,112,-2,-112,-2,-93,-2,-60,-2,-34,-2,-1,-2,32,-1,62,-1,99,-1,-123,-1,-88,-1,-49,-1,-19,-1,23,0,56,0,94,0,127,0,-93,0,-61,0,-24,0,3,1,35,1,62,1,91,1,116,1,-118,1,-96,1,-76,1,-61,1,-45,1,-32,1,-26,1,-12,1,-16,1,-6,1,-11,1,-11,1,-19,1,-24,1,-37,1,-49,1,-62,1,-85,1,-97,1,-124,1,111,1,85,1,57,1,29,1,0,1,-33,0,-65,0,-98,0,124,0,90,0,53,0,18,0,-16,-1,-52,-1,-87,-1,-124,-1,102,-1,66,-1,37,-1,4,-1,-26,-2,-53,-2,-80,-2,-106,-2,-126,-2,105,-2,90,-2,71,-2,56,-2,47,-2,32,-2,30,-2,22,-2,19,-2,22,-2,22,-2,28,-2,36,-2,45,-2,57,-2,73,-2,87,-2,110,-2,127,-2,-103,-2,-82,-2,-52,-2,-26,-2,4,-1,34,-1,64,-1,100,-1,-125,-1,-90,-1,-58,-1,-19,-1,11,0,51,0,78,0,118,0,-108,0,-75,0,-40,0,-19,0,23,1,41,1,71,1,95,1,116,1,-118,1,-97,1,-86,1,-65,1,-59,1,-43,1,-41,1,-34,1,-30,1,-32,1,-33,1,-37,1,-47,1,-53,1,-66,1,-82,1,-95,1,-115,1,121,1,99,1,75,1,49,1,25,1,-10,0,-32,0,-72,0,-93,0,121,0,93,0,59,0,23,0,-8,-1,-44,-1,-77,-1,-109,-1,114,-1,80,-1,52,-1,19,-1,-5,-2,-36,-2,-60,-2,-85,-2,-107,-2,-127,-2,109,-2,95,-2,78,-2,69,-2,55,-2,52,-2,43,-2,44,-2,39,-2,45,-2,47,-2,55,-2,64,-2,72,-2,91,-2,101,-2,125,-2,-118,-2,-91,-2,-71,-2,-45,-2,-19,-2,9,-1,37,-1,70,-1,98,-1,-126,-1,-93,-1,-61,-1,-26,-1,5,0,39,0,72,0,105,0,-120,0,-90,0,-57,0,-31,0,1,1,24,1,53,1,73,1,99,1,116,1,-122,1,-101,1,-94,1,-75,1,-69,1,-62,1,-53,1,-54,1,-51,1,-54,1,-56,1,-65,1,-71,1,-85,1,-95,1,-111,1,127,1,109,1,88,1,65,1,42,1,14,1,-11,0,-39,0,-71,0,-98,0,124,0,96,0,62,0,29,0,-2,-1,-37,-1,-63,-1,-102,-1,-128,-1,94,-1,65,-1,39,-1,7,-1,-16,-2,-43,-2,-64,-2,-88,-2,-106,-2,-127,-2,118,-2,97,-2,92,-2,75,-2,74,-2,64,-2,64,-2,61,-2,63,-2,67,-2,73,-2,80,-2,94,-2,101,-2,122,-2,-125,-2,-100,-2,-85,-2,-58,-2,-39,-2,-10,-2,13,-1,42,-1,71,-1,98,-1,-125,-1,-95,-1,-65,-1,-31,-1,-3,-1,33,0,61,0,94,0,124,0,-102,0,-71,0,-46,0,-16,0,7,1,34,1,56,1,78,1,96,1,116,1,-125,1,-112,1,-97,1,-92,1,-78,1,-79,1,-72,1,-71,1,-74,1,-74,1,-84,1,-89,1,-99,1,-111,1,-127,1,116,1,95,1,78,1,56,1,32,1,9,1,-16,0,-44,0,-72,0,-100,0,126,0,96,0,66,0,34,0,4,0,-26,-1,-60,-1,-87,-1,-121,-1,111,-1,78,-1,54,-1,22,-1,2,-1,-25,-2,-47,-2,-68,-2,-89,-2,-103,-2,-122,-2,121,-2,110,-2,97,-2,94,-2,85,-2,82,-2,82,-2,82,-2,85,-2,91,-2,98,-2,107,-2,120,-2,-125,-2,-105,-2,-94,-2,-69,-2,-54,-2,-26,-2,-8,-2,21,-1,45,-1,73,-1,103,-1,127,-1,-96,-1,-69,-1,-35,-1,-7,-1,23,0,55,0,81,0,117,0,-117,0,-83,0,-63,0,-29,0,-10,0,18,1,36,1,60,1,78,1,96,1,111,1,125,1,-119,1,-110,1,-100,1,-97,1,-92,1,-89,1,-95,1}; }
	private static byte[] data14(){ return new byte[] {-91,1,-102,1,-104,1,-116,1,-127,1,117,1,101,1,86,1,66,1,47,1,24,1,2,1,-23,0,-46,0,-76,0,-98,0,122,0,101,0,67,0,40,0,9,0,-21,-1,-49,-1,-79,-1,-107,-1,119,-1,93,-1,65,-1,42,-1,13,-1,-6,-2,-31,-2,-49,-2,-70,-2,-85,-2,-105,-2,-111,-2,124,-2,123,-2,109,-2,106,-2,102,-2,100,-2,99,-2,106,-2,105,-2,117,-2,120,-2,-120,-2,-111,-2,-94,-2,-80,-2,-62,-2,-41,-2,-20,-2,-1,-2,27,-1,48,-1,77,-1,101,-1,-126,-1,-100,-1,-67,-1,-43,-1,-11,-1,15,0,46,0,75,0,103,0,-127,0,-97,0,-74,0,-46,0,-24,0,0,1,21,1,42,1,60,1,77,1,94,1,105,1,118,1,-128,1,-122,1,-112,1,-115,1,-105,1,-113,1,-109,1,-117,1,-124,1,127,1,114,1,104,1,89,1,72,1,58,1,36,1,18,1,-6,0,-26,0,-53,0,-76,0,-104,0,126,0,101,0,71,0,42,0,17,0,-17,-1,-38,-1,-73,-1,-97,-1,-123,-1,103,-1,80,-1,54,-1,31,-1,7,-1,-11,-2,-36,-2,-50,-2,-69,-2,-83,-2,-97,-2,-108,-2,-120,-2,-124,-2,123,-2,120,-2,119,-2,116,-2,122,-2,124,-2,-127,-2,-116,-2,-110,-2,-94,-2,-87,-2,-63,-2,-56,-2,-29,-2,-15,-2,8,-1,33,-1,52,-1,78,-1,104,-1,-127,-1,-99,-1,-71,-1,-48,-1,-15,-1,11,0,36,0,69,0,88,0,123,0,-112,0,-85,0,-62,0,-37,0,-16,0,7,1,21,1,47,1,56,1,77,1,87,1,99,1,110,1,117,1,122,1,-127,1,127,1,-125,1,126,1,126,1,116,1,111,1,101,1,89,1,79,1,61,1,46,1,28,1,9,1,-11,0,-32,0,-57,0,-80,0,-104,0,126,0,100,0,73,0,47,0,19,0,-6,-1,-36,-1,-60,-1,-90,-1,-112,-1,114,-1,93,-1,67,-1,46,-1,23,-1,1,-1,-16,-2,-34,-2,-52,-2,-64,-2,-82,-2,-90,-2,-99,-2,-109,-2,-114,-2,-117,-2,-124,-2,-117,-2,-123,-2,-112,-2,-114,-2,-100,-2,-98,-2,-80,-2,-72,-2,-58,-2,-39,-2,-26,-2,-3,-2,14,-1,36,-1,57,-1,83,-1,103,-1,-123,-1,-103,-1,-73,-1,-50,-1,-21,-1,6,0,28,0,61,0,81,0,111,0,-123,0,-97,0,-75,0,-51,0,-31,0,-10,0,10,1,26,1,44,1,56,1,71,1,83,1,90,1,101,1,104,1,111,1,112,1,113,1,110,1,110,1,102,1,95,1,91,1,72,1,71,1,46,1,39,1,19,1,1,1,-17,0,-40,0,-59,0,-83,0,-107,0,126,0,99,0,78,0,48,0,25,0,-3,-1,-28,-1,-53,-1,-79,-1,-105,-1,-128,-1,104,-1,79,-1,60,-1,35,-1,20,-1,-4,-2,-16,-2,-38,-2,-46,-2,-65,-2,-71,-2,-85,-2,-90,-2,-98,-2,-101,-2,-103,-2,-107,-2,-101,-2,-103,-2,-93,-2,-91,-2,-80,-2,-72,-2,-58,-2,-48,-2,-29,-2,-16,-2,2,-1,22,-1,41,-1,63,-1,85,-1,106,-1,-125,-1,-101,-1,-76,-1,-51,-1,-27,-1,1,0,22,0,53,0,72,0,101,0,124,0,-110,0,-85,0,-67,0,-42,0,-27,0,-3,0,8,1,29,1,40,1,56,1,63,1,76,1,82,1,89,1,94,1,94,1,99,1,94,1,95,1,87,1,82,1,77,1,62,1,56,1,38,1,29,1,9,1,-5,0,-26,0,-44,0,-62,0,-89,0,-105,0,121,0,104,0,76,0,53,0,26,0,6,0,-26,-1,-41,-1,-76,-1,-92,-1,-120,-1,116,-1,92,-1,71,-1,51,-1,31,-1,14,-1,-5,-2,-19,-2,-32,-2,-48,-2,-55,-2,-69,-2,-72,-2,-83,-2,-83,-2,-91,-2,-86,-2,-91,-2,-83,-2,-84,-2,-73,-2,-71,-2,-57,-2,-48,-2,-36,-2,-21,-2,-7,-2,9,-1,30,-1,45,-1,67,-1,87,-1,110,-1,-125,-1,-100,-1,-79,-1,-54,-1,-29,-1,-6,-1,19,0,43,0,67,0,93,0,110,0,-117,0,-100,0,-77,0,-55,0,-40,0,-21,0,-2,0,9,1,29,1,36,1,50,1,58,1,67,1,73,1,77,1,81,1,81,1,80,1,80,1,73,1,71,1,60,1,54,1,41,1,33,1,14,1,5,1,-16,0,-29,0,-51,0,-68,0,-90,0,-109,0,123,0,102,0,77,0,57,0,30,0,9,0,-19,-1,-37,-1,-65,-1,-84,-1,-111,-1,126,-1,103,-1,85,-1,61,-1,46,-1,25,-1,13,-1,-4,-2,-21,-2,-27,-2,-45,-2,-49,-2,-59,-2,-65,-2,-71,-2,-69,-2,-78,-2,-72,-2,-70,-2,-71,-2,-59,-2,-58,-2,-46,-2,-37,-2,-25,-2,-14,-2,4,-1,16,-1,36,-1,51,-1,69,-1,94,-1,108,-1,-119,-1,-106,-1,-75,-1,-58,-1,-33,-1,-9,-1,13,0,36,0,61,0,79,0,108,0,123,0}; }
	private static byte[] data15(){ return new byte[] {-106,0,-91,0,-70,0,-50,0,-35,0,-17,0,-3,0,11,1,23,1,35,1,43,1,51,1,57,1,63,1,65,1,67,1,67,1,62,1,64,1,54,1,52,1,39,1,32,1,20,1,9,1,-7,0,-19,0,-40,0,-53,0,-73,0,-93,0,-113,0,124,0,99,0,82,0,56,0,35,0,12,0,-12,-1,-31,-1,-59,-1,-76,-1,-101,-1,-121,-1,115,-1,95,-1,74,-1,59,-1,38,-1,27,-1,7,-1,0,-1,-20,-2,-24,-2,-38,-2,-42,-2,-51,-2,-54,-2,-59,-2,-60,-2,-58,-2,-59,-2,-53,-2,-52,-2,-42,-2,-35,-2,-28,-2,-13,-2,-7,-2,13,-1,23,-1,42,-1,56,-1,77,-1,92,-1,115,-1,-124,-1,-99,-1,-82,-1,-56,-1,-37,-1,-15,-1,12,0,26,0,57,0,71,0,97,0,117,0,-122,0,-96,0,-86,0,-58,0,-51,0,-29,0,-17,0,-4,0,10,1,18,1,31,1,33,1,47,1,44,1,53,1,53,1,50,1,53,1,48,1,43,1,39,1,28,1,23,1,8,1,2,1,-16,0,-28,0,-43,0,-61,0,-76,0,-96,0,-116,0,122,0,102,0,78,0,62,0,33,0,20,0,-9,-1,-25,-1,-52,-1,-68,-1,-93,-1,-111,-1,124,-1,105,-1,88,-1,68,-1,54,-1,37,-1,23,-1,11,-1,-4,-2,-10,-2,-24,-2,-28,-2,-35,-2,-43,-2,-41,-2,-48,-2,-44,-2,-45,-2,-43,-2,-36,-2,-33,-2,-24,-2,-16,-2,-6,-2,6,-1,18,-1,31,-1,48,-1,62,-1,81,-1,96,-1,116,-1,-119,-1,-103,-1,-79,-1,-61,-1,-38,-1,-18,-1,5,0,22,0,50,0,64,0,90,0,106,0,126,0,-108,0,-95,0,-72,0,-63,0,-39,0,-35,0,-11,0,-9,0,7,1,15,1,21,1,30,1,33,1,37,1,40,1,38,1,40,1,33,1,35,1,22,1,24,1,7,1,3,1,-10,0,-23,0,-34,0,-51,0,-64,0,-84,0,-97,0,-119,0,121,0,100,0,80,0,61,0,39,0,20,0,-1,-1,-25,-1,-39,-1,-67,-1,-81,-1,-104,-1,-122,-1,116,-1,97,-1,81,-1,64,-1,52,-1,33,-1,26,-1,9,-1,2,-1,-7,-2,-18,-2,-20,-2,-28,-2,-30,-2,-32,-2,-33,-2,-32,-2,-30,-2,-25,-2,-22,-2,-11,-2,-8,-2,5,-1,12,-1,28,-1,37,-1,55,-1,66,-1,86,-1,100,-1,120,-1,-122,-1,-98,-1,-82,-1,-60,-1,-41,-1,-23,-1,2,0,17,0,43,0,58,0,80,0,100,0,117,0,-120,0,-103,0,-87,0,-69,0,-57,0,-41,0,-31,0,-16,0,-10,0,4,1,7,1,16,1,21,1,22,1,28,1,24,1,28,1,22,1,22,1,13,1,10,1,0,1,-8,0,-18,0,-30,0,-42,0,-57,0,-69,0,-88,0,-102,0,-118,0,115,0,103,0,79,0,62,0,43,0,22,0,1,0,-15,-1,-40,-1,-54,-1,-78,-1,-93,-1,-115,-1,126,-1,108,-1,91,-1,78,-1,59,-1,49,-1,35,-1,25,-1,14,-1,5,-1,-3,-2,-8,-2,-14,-2,-18,-2,-19,-2,-21,-2,-18,-2,-20,-2,-13,-2,-11,-2,-1,-2,1,-1,16,-1,18,-1,38,-1,43,-1,60,-1,73,-1,88,-1,105,-1,120,-1,-116,-1,-102,-1,-78,-1,-65,-1,-41,-1,-27,-1,0,0,10,0,40,0,49,0,76,0,89,0,110,0,126,0,-113,0,-96,0,-81,0,-69,0,-52,0,-44,0,-29,0,-19,0,-14,0,-2,0,1,1,9,1,9,1,16,1,12,1,15,1,12,1,8,1,6,1,-3,0,-9,0,-15,0,-29,0,-34,0,-53,0,-59,0,-77,0,-91,0,-104,0,-125,0,118,0,100,0,80,0,63,0,45,0,24,0,7,0,-13,-1,-33,-1,-49,-1,-70,-1,-87,-1,-105,-1,-122,-1,118,-1,102,-1,84,-1,77,-1,54,-1,54,-1,30,-1,31,-1,15,-1,11,-1,5,-1,-4,-2,-2,-2,-10,-2,-5,-2,-10,-2,-7,-2,-1,-2,-2,-2,9,-1,11,-1,24,-1,27,-1,46,-1,47,-1,70,-1,74,-1,97,-1,103,-1,-128,-1,-119,-1,-97,-1,-81,-1,-64,-1,-45,-1,-25,-1,-11,-1,14,0,28,0,47,0,67,0,82,0,102,0,119,0,-125,0,-103,0,-96,0,-75,0,-67,0,-52,0,-42,0,-33,0,-24,0,-14,0,-13,0,-2,0,-3,0,2,1,2,1,3,1,0,1,-1,0,-8,0,-8,0,-23,0,-20,0,-39,0,-43,0,-55,0,-69,0,-80,0,-95,0,-110,0,-125,0,117,0,94,0,86,0,60,0,47,0,29,0,6,0,-5,-1,-29,-1,-44,-1,-63,-1,-81,-1,-95,-1,-116,-1,-126,-1,108,-1,100,-1,81,-1,73,-1,56,-1,50,-1,37,-1,30,-1,24,-1,13,-1,13,-1,6,-1,4,-1,5,-1,1,-1,7,-1,5,-1,12,-1,16,-1,22,-1,32,-1,34,-1,54,-1,53,-1,76,-1}; }
	private static byte[] data16(){ return new byte[] {79,-1,99,-1,111,-1,127,-1,-116,-1,-96,-1,-83,-1,-62,-1,-48,-1,-28,-1,-12,-1,9,0,23,0,41,0,62,0,73,0,97,0,107,0,126,0,-116,0,-103,0,-86,0,-79,0,-60,0,-57,0,-42,0,-36,0,-28,0,-22,0,-15,0,-15,0,-9,0,-9,0,-10,0,-8,0,-14,0,-15,0,-21,0,-28,0,-34,0,-41,0,-54,0,-58,0,-80,0,-80,0,-103,0,-110,0,127,0,112,0,99,0,81,0,63,0,48,0,29,0,13,0,-4,-1,-23,-1,-40,-1,-54,-1,-77,-1,-85,-1,-111,-1,-115,-1,116,-1,109,-1,93,-1,80,-1,72,-1,55,-1,53,-1,39,-1,35,-1,26,-1,23,-1,18,-1,17,-1,14,-1,13,-1,17,-1,15,-1,24,-1,23,-1,33,-1,36,-1,50,-1,51,-1,69,-1,75,-1,88,-1,103,-1,113,-1,-126,-1,-113,-1,-95,-1,-84,-1,-60,-1,-52,-1,-28,-1,-16,-1,3,0,21,0,36,0,55,0,69,0,87,0,100,0,118,0,-126,0,-111,0,-98,0,-85,0,-76,0,-63,0,-56,0,-46,0,-39,0,-34,0,-27,0,-24,0,-22,0,-18,0,-22,0,-18,0,-24,0,-25,0,-30,0,-35,0,-43,0,-49,0,-61,0,-67,0,-79,0,-92,0,-102,0,-118,0,126,0,112,0,95,0,81,0,64,0,49,0,32,0,15,0,-1,-1,-18,-1,-35,-1,-49,-1,-70,-1,-79,-1,-101,-1,-111,-1,-127,-1,114,-1,106,-1,87,-1,83,-1,67,-1,62,-1,51,-1,45,-1,37,-1,35,-1,28,-1,29,-1,22,-1,27,-1,24,-1,28,-1,30,-1,35,-1,39,-1,48,-1,52,-1,64,-1,69,-1,86,-1,89,-1,109,-1,116,-1,-122,-1,-112,-1,-95,-1,-80,-1,-65,-1,-49,-1,-32,-1,-19,-1,2,0,14,0,33,0,48,0,64,0,78,0,97,0,105,0,126,0,-123,0,-105,0,-97,0,-83,0,-77,0,-63,0,-59,0,-49,0,-43,0,-41,0,-32,0,-34,0,-29,0,-31,0,-29,0,-34,0,-32,0,-42,0,-40,0,-54,0,-56,0,-65,0,-76,0,-83,0,-98,0,-105,0,-123,0,126,0,106,0,98,0,77,0,68,0,46,0,35,0,18,0,2,0,-14,-1,-29,-1,-48,-1,-58,-1,-79,-1,-88,-1,-105,-1,-121,-1,-128,-1,107,-1,105,-1,87,-1,79,-1,72,-1,60,-1,58,-1,47,-1,44,-1,40,-1,38,-1,34,-1,36,-1,34,-1,37,-1,39,-1,45,-1,46,-1,56,-1,59,-1,71,-1,76,-1,90,-1,95,-1,113,-1,118,-1,-118,-1,-111,-1,-92,-1,-81,-1,-63,-1,-53,-1,-32,-1,-21,-1,-2,-1,13,0,24,0,47,0,55,0,76,0,86,0,101,0,115,0,-128,0,-117,0,-103,0,-96,0,-83,0,-76,0,-66,0,-62,0,-52,0,-51,0,-43,0,-44,0,-39,0,-40,0,-40,0,-41,0,-45,0,-46,0,-53,0,-58,0,-64,0,-73,0,-80,0,-90,0,-102,0,-110,0,-124,0,119,0,109,0,92,0,80,0,66,0,49,0,36,0,20,0,4,0,-9,-1,-27,-1,-39,-1,-57,-1,-68,-1,-87,-1,-94,-1,-115,-1,-120,-1,117,-1,112,-1,97,-1,89,-1,81,-1,70,-1,68,-1,56,-1,57,-1,48,-1,48,-1,44,-1,46,-1,43,-1,48,-1,46,-1,53,-1,56,-1,61,-1,70,-1,73,-1,85,-1,93,-1,102,-1,116,-1,122,-1,-116,-1,-109,-1,-89,-1,-83,-1,-63,-1,-51,-1,-36,-1,-20,-1,-7,-1,6,0,28,0,33,0,58,0,63,0,83,0,94,0,106,0,121,0,-126,0,-113,0,-102,0,-95,0,-84,0,-77,0,-70,0,-64,0,-58,0,-56,0,-52,0,-49,0,-50,0,-47,0,-53,0,-51,0,-57,0,-60,0,-63,0,-74,0,-77,0,-89,0,-94,0,-105,0,-116,0,-127,0,117,0,106,0,90,0,82,0,60,0,57,0,32,0,25,0,6,0,-6,-1,-22,-1,-35,-1,-51,-1,-65,-1,-75,-1,-95,-1,-99,-1,-119,-1,-127,-1,119,-1,105,-1,100,-1,89,-1,81,-1,75,-1,68,-1,65,-1,58,-1,58,-1,54,-1,53,-1,55,-1,52,-1,60,-1,57,-1,67,-1,65,-1,78,-1,80,-1,91,-1,98,-1,107,-1,118,-1,-128,-1,-114,-1,-106,-1,-90,-1,-79,-1,-66,-1,-48,-1,-41,-1,-21,-1,-10,-1,7,0,18,0,36,0,44,0,64,0,74,0,88,0,100,0,112,0,123,0,-121,0,-111,0,-104,0,-92,0,-88,0,-78,0,-73,0,-69,0,-64,0,-62,0,-58,0,-59,0,-56,0,-62,0,-59,0,-64,0,-68,0,-71,0,-81,0,-83,0,-93,0,-101,0,-109,0,-121,0,126,0,115,0,103,0,90,0,78,0,65,0,50,0,40,0,23,0,9,0,-1,-1,-21,-1,-29,-1,-46,-1,-60,-1,-69,-1,-87,-1,-95,-1,-110,-1,-118,-1,124,-1,118,-1,104,-1,101,-1,87,-1,88,-1}; }
	private static byte[] data17(){ return new byte[] {73,-1,78,-1,64,-1,70,-1,61,-1,64,-1,61,-1,65,-1,62,-1,72,-1,67,-1,80,-1,79,-1,88,-1,97,-1,101,-1,115,-1,119,-1,-122,-1,-115,-1,-100,-1,-91,-1,-77,-1,-64,-1,-53,-1,-37,-1,-26,-1,-10,-1,2,0,15,0,31,0,42,0,57,0,69,0,80,0,94,0,105,0,116,0,126,0,-119,0,-111,0,-103,0,-94,0,-89,0,-83,0,-75,0,-77,0,-66,0,-71,0,-65,0,-68,0,-67,0,-68,0,-72,0,-75,0,-79,0,-86,0,-90,0,-99,0,-106,0,-113,0,-125,0,123,0,111,0,100,0,91,0,75,0,66,0,50,0,40,0,25,0,13,0,-2,-1,-14,-1,-27,-1,-42,-1,-51,-1,-70,-1,-75,-1,-91,-1,-103,-1,-110,-1,-126,-1,-128,-1,112,-1,107,-1,99,-1,92,-1,89,-1,80,-1,78,-1,73,-1,74,-1,70,-1,72,-1,70,-1,74,-1,73,-1,82,-1,79,-1,92,-1,91,-1,102,-1,109,-1,115,-1,-128,-1,-123,-1,-109,-1,-99,-1,-90,-1,-74,-1,-68,-1,-48,-1,-42,-1,-25,-1,-15,-1,2,0,10,0,28,0,37,0,51,0,65,0,74,0,88,0,97,0,110,0,118,0,-127,0,-119,0,-111,0,-102,0,-98,0,-89,0,-88,0,-81,0,-79,0,-76,0,-75,0,-75,0,-76,0,-76,0,-78,0,-84,0,-85,0,-91,0,-98,0,-102,0,-112,0,-119,0,-126,0,117,0,110,0,98,0,88,0,75,0,66,0,49,0,43,0,23,0,17,0,1,0,-12,-1,-22,-1,-39,-1,-46,-1,-64,-1,-70,-1,-86,-1,-93,-1,-107,-1,-115,-1,-125,-1,122,-1,116,-1,106,-1,102,-1,94,-1,91,-1,85,-1,84,-1,80,-1,80,-1,78,-1,80,-1,79,-1,83,-1,87,-1,87,-1,98,-1,96,-1,109,-1,112,-1,122,-1,-128,-1,-115,-1,-110,-1,-96,-1,-86,-1,-77,-1,-62,-1,-53,-1,-40,-1,-27,-1,-16,-1,-3,-1,11,0,20,0,38,0,43,0,61,0,68,0,82,0,93,0,100,0,115,0,118,0,-125,0,-118,0,-113,0,-102,0,-101,0,-94,0,-90,0,-87,0,-85,0,-83,0,-82,0,-84,0,-83,0,-86,0,-90,0,-92,0,-97,0,-104,0,-106,0,-119,0,-120,0,121,0,120,0,101,0,101,0,82,0,77,0,63,0,52,0,40,0,29,0,16,0,3,0,-7,-1,-22,-1,-31,-1,-45,-1,-56,-1,-67,-1,-78,-1,-89,-1,-99,-1,-109,-1,-118,-1,-124,-1,119,-1,119,-1,105,-1,106,-1,96,-1,96,-1,90,-1,90,-1,85,-1,89,-1,84,-1,90,-1,89,-1,91,-1,98,-1,99,-1,106,-1,111,-1,118,-1,125,-1,-121,-1,-115,-1,-104,-1,-96,-1,-86,-1,-73,-1,-64,-1,-51,-1,-41,-1,-29,-1,-18,-1,-3,-1,4,0,22,0,28,0,44,0,52,0,66,0,75,0,87,0,94,0,106,0,113,0,125,0,-128,0,-118,0,-113,0,-107,0,-102,0,-98,0,-95,0,-92,0,-92,0,-89,0,-92,0,-90,0,-92,0,-97,0,-98,0,-105,0,-106,0,-116,0,-119,0,-127,0,118,0,117,0,98,0,98,0,82,0,75,0,62,0,53,0,39,0,32,0,16,0,7,0,-7,-1,-16,-1,-29,-1,-41,-1,-50,-1,-64,-1,-72,-1,-82,-1,-95,-1,-99,-1,-114,-1,-116,-1,127,-1,124,-1,115,-1,112,-1,105,-1,102,-1,99,-1,96,-1,94,-1,95,-1,92,-1,96,-1,97,-1,98,-1,101,-1,109,-1,107,-1,120,-1,121,-1,-126,-1,-119,-1,-111,-1,-102,-1,-92,-1,-84,-1,-73,-1,-63,-1,-52,-1,-40,-1,-31,-1,-19,-1,-6,-1,4,0,16,0,28,0,35,0,53,0,56,0,74,0,77,0,92,0,98,0,108,0,115,0,124,0,-127,0,-120,0,-113,0,-112,0,-103,0,-104,0,-100,0,-97,0,-100,0,-95,0,-100,0,-98,0,-104,0,-103,0,-112,0,-110,0,-122,0,-124,0,126,0,113,0,115,0,95,0,97,0,78,0,76,0,59,0,56,0,38,0,32,0,18,0,9,0,-3,-1,-15,-1,-24,-1,-38,-1,-46,-1,-57,-1,-69,-1,-76,-1,-88,-1,-95,-1,-106,-1,-110,-1,-122,-1,-124,-1,121,-1,120,-1,112,-1,110,-1,106,-1,103,-1,103,-1,99,-1,104,-1,98,-1,106,-1,103,-1,108,-1,113,-1,115,-1,123,-1,126,-1,-122,-1,-115,-1,-108,-1,-99,-1,-89,-1,-85,-1,-67,-1,-67,-1,-49,-1,-41,-1,-33,-1,-17,-1,-11,-1,1,0,17,0,18,0,40,0,41,0,57,0,65,0,74,0,84,0,94,0,100,0,111,0,114,0,125,0,127,0,-119,0,-120,0,-110,0,-111,0,-107,0,-106,0,-104,0,-105,0,-103,0,-108,0,-107,0,-112,0,-114,0,-119,0,-124,0,126,0,122,0,111,0,108,0,96,0,92,0,78,0,74,0,58,0,55,0,39,0,34,0,17,0}; }
	private static byte[] data18(){ return new byte[] {13,0,-3,-1,-11,-1,-21,-1,-34,-1,-42,-1,-53,-1,-63,-1,-73,-1,-80,-1,-91,-1,-98,-1,-105,-1,-116,-1,-116,-1,127,-1,-128,-1,118,-1,117,-1,114,-1,109,-1,111,-1,105,-1,110,-1,106,-1,111,-1,110,-1,115,-1,116,-1,123,-1,124,-1,-122,-1,-120,-1,-110,-1,-106,-1,-96,-1,-88,-1,-80,-1,-70,-1,-62,-1,-52,-1,-40,-1,-33,-1,-19,-1,-13,-1,1,0,9,0,22,0,31,0,39,0,53,0,59,0,71,0,78,0,87,0,96,0,102,0,112,0,114,0,124,0,127,0,-124,0,-120,0,-116,0,-114,0,-114,0,-108,0,-115,0,-108,0,-114,0,-114,0,-116,0,-120,0,-126,0,-125,0,118,0,120,0,107,0,105,0,93,0,89,0,78,0,70,0,61,0,51,0,42,0,32,0,21,0,11,0,2,0,-9,-1,-20,-1,-28,-1,-40,-1,-49,-1,-57,-1,-68,-1,-77,-1,-83,-1,-94,-1,-99,-1,-107,-1,-113,-1,-120,-1,-123,-1,125,-1,125,-1,120,-1,117,-1,115,-1,115,-1,113,-1,117,-1,112,-1,120,-1,117,-1,124,-1,127,-1,-126,-1,-120,-1,-114,-1,-108,-1,-103,-1,-90,-1,-91,-1,-74,-1,-72,-1,-59,-1,-52,-1,-40,-1,-35,-1,-18,-1,-16,-1,0,0,7,0,17,0,29,0,37,0,47,0,55,0,67,0,70,0,86,0,87,0,98,0,104,0,109,0,117,0,121,0,125,0,-126,0,-123,0,-122,0,-117,0,-119,0,-117,0,-116,0,-120,0,-119,0,-123,0,-124,0,125,0,126,0,115,0,114,0,106,0,99,0,94,0,84,0,78,0,67,0,61,0,51,0,42,0,32,0,23,0,12,0,4,0,-7,-1,-17,-1,-24,-1,-38,-1,-43,-1,-55,-1,-62,-1,-71,-1,-79,-1,-89,-1,-92,-1,-103,-1,-105,-1,-115,-1,-115,-1,-127,-1,-122,-1,123,-1,126,-1,122,-1,119,-1,122,-1,119,-1,122,-1,123,-1,124,-1,-128,-1,-124,-1,-122,-1,-114,-1,-113,-1,-102,-1,-100,-1,-91,-1,-84,-1,-76,-1,-68,-1,-60,-1,-51,-1,-41,-1,-33,-1,-22,-1,-16,-1,-1,-1,3,0,17,0,23,0,35,0,43,0,51,0,61,0,70,0,74,0,87,0,90,0,98,0,106,0,108,0,115,0,121,0,121,0,-127,0,126,0,-121,0,127,0,-117,0,127,0,-120,0,-127,0,-128,0,127,0,122,0,118,0,115,0,107,0,104,0,96,0,91,0,83,0,74,0,69,0,57,0,52,0,41,0,33,0,24,0,13,0,6,0,-6,-1,-12,-1,-24,-1,-33,-1,-39,-1,-53,-1,-55,-1,-68,-1,-75,-1,-79,-1,-92,-1,-94,-1,-101,-1,-108,-1,-110,-1,-117,-1,-122,-1,-121,-1,127,-1,-124,-1,124,-1,127,-1,126,-1,126,-1,-127,-1,-126,-1,-123,-1,-121,-1,-115,-1,-113,-1,-106,-1,-101,-1,-96,-1,-89,-1,-80,-1,-76,-1,-65,-1,-61,-1,-48,-1,-45,-1,-28,-1,-28,-1,-12,-1,-8,-1,5,0,12,0,22,0,30,0,41,0,45,0,60,0,60,0,75,0,78,0,87,0,92,0,99,0,104,0,109,0,112,0,120,0,117,0,127,0,122,0,-128,0,125,0,-127,0,125,0,126,0,125,0,117,0,121,0,113,0,110,0,105,0,100,0,91,0,92,0,76,0,78,0,62,0,62,0,46,0,45,0,31,0,25,0,15,0,7,0,-3,-1,-11,-1,-21,-1,-28,-1,-39,-1,-45,-1,-55,-1,-63,-1,-67,-1,-79,-1,-82,-1,-92,-1,-94,-1,-102,-1,-106,-1,-110,-1,-115,-1,-118,-1,-118,-1,-124,-1,-122,-1,-125,-1,-125,-1,-122,-1,-124,-1,-119,-1,-122,-1,-111,-1,-116,-1,-104,-1,-107,-1,-95,-1,-94,-1,-84,-1,-82,-1,-70,-1,-69,-1,-53,-1,-54,-1,-38,-1,-36,-1,-22,-1,-18,-1,-6,-1,1,0,11,0,18,0,29,0,35,0,44,0,54,0,57,0,70,0,73,0,82,0,86,0,95,0,97,0,104,0,108,0,111,0,115,0,117,0,119,0,120,0,123,0,120,0,123,0,118,0,120,0,115,0,114,0,110,0,106,0,100,0,98,0,89,0,87,0,76,0,74,0,63,0,58,0,49,0,40,0,35,0,24,0,18,0,6,0,1,0,-11,-1,-16,-1,-26,-1,-36,-1,-40,-1,-53,-1,-55,-1,-67,-1,-72,-1,-79,-1,-84,-1,-91,-1,-96,-1,-101,-1,-104,-1,-110,-1,-110,-1,-116,-1,-116,-1,-117,-1,-120,-1,-117,-1,-121,-1,-115,-1,-119,-1,-110,-1,-115,-1,-104,-1,-108,-1,-96,-1,-98,-1,-87,-1,-84,-1,-78,-1,-70,-1,-65,-1,-56,-1,-49,-1,-40,-1,-36,-1,-22,-1,-20,-1,-6,-1,-2,-1,9,0,17,0,24,0,33,0,41,0,47,0,59,0,60,0,71,0,77,0,80,0,92,0,88,0,103,0,99,0,107,0,110,0,109,0,116,0,115,0,114,0,120,0,112,0,118,0,112,0}; }
	private static byte[] data19(){ return new byte[] {111,0,112,0,102,0,105,0,96,0,93,0,90,0,81,0,75,0,72,0,61,0,59,0,46,0,43,0,32,0,26,0,17,0,9,0,2,0,-9,-1,-12,-1,-28,-1,-27,-1,-42,-1,-45,-1,-55,-1,-60,-1,-68,-1,-74,-1,-80,-1,-87,-1,-89,-1,-97,-1,-97,-1,-106,-1,-104,-1,-111,-1,-110,-1,-112,-1,-115,-1,-111,-1,-116,-1,-111,-1,-112,-1,-110,-1,-106,-1,-103,-1,-102,-1,-94,-1,-94,-1,-85,-1,-82,-1,-74,-1,-71,-1,-61,-1,-56,-1,-49,-1,-39,-1,-35,-1,-25,-1,-18,-1,-10,-1,-1,-1,6,0,15,0,21,0,30,0,39,0,42,0,55,0,57,0,66,0,73,0,75,0,86,0,86,0,95,0,95,0,102,0,102,0,109,0,106,0,111,0,111,0,111,0,110,0,113,0,105,0,111,0,103,0,101,0,102,0,89,0,96,0,81,0,82,0,74,0,66,0,65,0,52,0,51,0,38,0,36,0,23,0,21,0,8,0,4,0,-6,-1,-14,-1,-20,-1,-28,-1,-37,-1,-43,-1,-50,-1,-57,-1,-64,-1,-69,-1,-77,-1,-79,-1,-87,-1,-90,-1,-94,-1,-100,-1,-99,-1,-106,-1,-103,-1,-110,-1,-106,-1,-112,-1,-106,-1,-109,-1,-107,-1,-103,-1,-106,-1,-97,-1,-99,-1,-91,-1,-89,-1,-85,-1,-76,-1,-76,-1,-65,-1,-63,-1,-54,-1,-46,-1,-44,-1,-29,-1,-31,-1,-15,-1,-11,-1,-6,-1,9,0,6,0,25,0,25,0,34,0,43,0,46,0,58,0,60,0,68,0,73,0,79,0,84,0,87,0,92,0,96,0,100,0,100,0,103,0,106,0,104,0,110,0,102,0,109,0,103,0,103,0,102,0,95,0,98,0,89,0,87,0,84,0,75,0,75,0,64,0,61,0,55,0,45,0,43,0,31,0,28,0,18,0,11,0,4,0,-4,-1,-9,-1,-22,-1,-22,-1,-37,-1,-37,-1,-48,-1,-53,-1,-59,-1,-66,-1,-71,-1,-77,-1,-80,-1,-88,-1,-87,-1,-95,-1,-96,-1,-97,-1,-105,-1,-98,-1,-107,-1,-102,-1,-104,-1,-104,-1,-103,-1,-99,-1,-101,-1,-94,-1,-94,-1,-89,-1,-86,-1,-82,-1,-74,-1,-74,-1,-61,-1,-65,-1,-49,-1,-50,-1,-38,-1,-35,-1,-25,-1,-21,-1,-10,-1,-6,-1,3,0,12,0,15,0,25,0,33,0,35,0,50,0,46,0,63,0,59,0,72,0,72,0,81,0,81,0,91,0,86,0,98,0,93,0,102,0,97,0,104,0,99,0,104,0,99,0,102,0,99,0,95,0,97,0,88,0,90,0,83,0,81,0,74,0,70,0,65,0,58,0,54,0,46,0,40,0,34,0,25,0,21,0,10,0,8,0,-3,-1,-10,-1,-15,-1,-25,-1,-29,-1,-36,-1,-46,-1,-47,-1,-57,-1,-62,-1,-65,-1,-74,-1,-76,-1,-81,-1,-85,-1,-89,-1,-91,-1,-94,-1,-97,-1,-97,-1,-100,-1,-98,-1,-100,-1,-100,-1,-96,-1,-100,-1,-92,-1,-94,-1,-89,-1,-87,-1,-81,-1,-80,-1,-74,-1,-67,-1,-66,-1,-56,-1,-54,-1,-45,-1,-41,-1,-32,-1,-28,-1,-18,-1,-14,-1,-5,-1,0,0,9,0,14,0,25,0,26,0,37,0,42,0,45,0,58,0,57,0,65,0,73,0,70,0,84,0,79,0,88,0,88,0,93,0,93,0,97,0,95,0,98,0,97,0,97,0,96,0,95,0,94,0,88,0,92,0,80,0,85,0,75,0,74,0,68,0,62,0,59,0,50,0,47,0,39,0,33,0,27,0,20,0,12,0,8,0,-3,-1,-5,-1,-15,-1,-22,-1,-25,-1,-37,-1,-38,-1,-48,-1,-50,-1,-60,-1,-62,-1,-68,-1,-73,-1,-76,-1,-80,-1,-87,-1,-83,-1,-94,-1,-87,-1,-97,-1,-91,-1,-98,-1,-93,-1,-97,-1,-92,-1,-95,-1,-89,-1,-91,-1,-84,-1,-86,-1,-78,-1,-77,-1,-71,-1,-66,-1,-65,-1,-53,-1,-54,-1,-44,-1,-40,-1,-32,-1,-29,-1,-17,-1,-16,-1,-6,-1,0,0,6,0,14,0,19,0,28,0,29,0,44,0,40,0,55,0,51,0,65,0,63,0,74,0,72,0,79,0,83,0,83,0,89,0,89,0,90,0,95,0,89,0,97,0,89,0,96,0,88,0,91,0,86,0,86,0,81,0,78,0,75,0,70,0,67,0,61,0,55,0,52,0,44,0,39,0,34,0,25,0,22,0,14,0,5,0,4,0,-10,-1,-7,-1,-23,-1,-22,-1,-35,-1,-34,-1,-46,-1,-46,-1,-56,-1,-59,-1,-63,-1,-72,-1,-69,-1,-79,-1,-77,-1,-84,-1,-86,-1,-86,-1,-90,-1,-89,-1,-91,-1,-92,-1,-89,-1,-93,-1,-86,-1,-90,-1,-84,-1,-84,-1,-80,-1,-77,-1,-73,-1,-69,-1,-67,-1,-58,-1,-57,-1,-48,-1,-47,-1,-36,-1,-36,-1,-24,-1,-22,-1,-14,-1,-7,-1,-2,-1,4,0,14,0,14,0,28,0,27,0,38,0,40,0,49,0}; }
	private static byte[] data20(){ return new byte[] {50,0,61,0,59,0,68,0,71,0,73,0,79,0,80,0,83,0,86,0,86,0,88,0,89,0,89,0,90,0,86,0,90,0,84,0,84,0,83,0,77,0,78,0,69,0,71,0,61,0,63,0,52,0,50,0,44,0,38,0,33,0,28,0,19,0,15,0,8,0,2,0,-4,-1,-10,-1,-17,-1,-23,-1,-29,-1,-34,-1,-41,-1,-44,-1,-53,-1,-54,-1,-63,-1,-61,-1,-72,-1,-70,-1,-78,-1,-78,-1,-79,-1,-86,-1,-82,-1,-88,-1,-86,-1,-86,-1,-90,-1,-83,-1,-88,-1,-82,-1,-84,-1,-79,-1,-78,-1,-74,-1,-71,-1,-67,-1,-64,-1,-57,-1,-55,-1,-49,-1,-43,-1,-40,-1,-31,-1,-27,-1,-21,-1,-15,-1,-8,-1,-4,-1,5,0,8,0,17,0,22,0,27,0,33,0,40,0,42,0,52,0,52,0,59,0,64,0,66,0,70,0,75,0,75,0,81,0,80,0,83,0,84,0,84,0,87,0,84,0,85,0,84,0,81,0,83,0,77,0,77,0,71,0,72,0,64,0,64,0,56,0,55,0,47,0,44,0,37,0,33,0,27,0,20,0,17,0,6,0,7,0,-6,-1,-7,-1,-16,-1,-19,-1,-29,-1,-29,-1,-39,-1,-42,-1,-48,-1,-52,-1,-58,-1,-59,-1,-68,-1,-66,-1,-73,-1,-75,-1,-76,-1,-81,-1,-79,-1,-83,-1,-82,-1,-85,-1,-82,-1,-83,-1,-83,-1,-78,-1,-83,-1,-73,-1,-79,-1,-68,-1,-70,-1,-65,-1,-61,-1,-57,-1,-53,-1,-46,-1,-45,-1,-36,-1,-33,-1,-26,-1,-22,-1,-14,-1,-12,-1,-1,-1,0,0,10,0,13,0,19,0,27,0,28,0,39,0,39,0,47,0,52,0,54,0,59,0,66,0,62,0,75,0,69,0,78,0,75,0,81,0,77,0,85,0,79,0,82,0,82,0,78,0,82,0,75,0,78,0,70,0,74,0,64,0,66,0,60,0,54,0,55,0,45,0,43,0,37,0,33,0,25,0,24,0,12,0,12,0,4,0,-1,-1,-8,-1,-13,-1,-20,-1,-21,-1,-33,-1,-31,-1,-43,-1,-43,-1,-50,-1,-53,-1,-59,-1,-60,-1,-66,-1,-68,-1,-70,-1,-75,-1,-73,-1,-80,-1,-76,-1,-80,-1,-80,-1,-78,-1,-82,-1,-76,-1,-80,-1,-74,-1,-75,-1,-71,-1,-70,-1,-66,-1,-63,-1,-59,-1,-54,-1,-53,-1,-46,-1,-41,-1,-38,-1,-31,-1,-27,-1,-23,-1,-12,-1,-15,-1,1,0,-5,-1,12,0,7,0,22,0,20,0,31,0,32,0,38,0,44,0,47,0,53,0,57,0,57,0,66,0,63,0,73,0,69,0,75,0,73,0,78,0,78,0,76,0,81,0,73,0,82,0,72,0,78,0,70,0,72,0,67,0,65,0,63,0,56,0,58,0,46,0,50,0,38,0,39,0,31,0,25,0,25,0,11,0,15,0,1,0,2,0,-6,-1,-11,-1,-18,-1,-22,-1,-26,-1,-33,-1,-37,-1,-41,-1,-48,-1,-49,-1,-54,-1,-61,-1,-57,-1,-69,-1,-64,-1,-72,-1,-70,-1,-75,-1,-73,-1,-78,-1,-73,-1,-79,-1,-75,-1,-75,-1,-76,-1,-70,-1,-74,-1,-68,-1,-67,-1,-63,-1,-62,-1,-56,-1,-55,-1,-48,-1,-46,-1,-41,-1,-36,-1,-33,-1,-23,-1,-26,-1,-10,-1,-18,-1,1,0,-6,-1,10,0,8,0,17,0,20,0,27,0,31,0,35,0,42,0,43,0,51,0,51,0,58,0,59,0,63,0,67,0,66,0,72,0,69,0,76,0,71,0,77,0,73,0,75,0,73,0,75,0,68,0,74,0,64,0,69,0,60,0,61,0,56,0,53,0,49,0,45,0,40,0,36,0,32,0,24,0,26,0,11,0,15,0,4,0,1,0,-4,-1,-10,-1,-17,-1,-16,-1,-30,-1,-25,-1,-38,-1,-37,-1,-45,-1,-46,-1,-53,-1,-53,-1,-60,-1,-59,-1,-66,-1,-65,-1,-68,-1,-72,-1,-68,-1,-75,-1,-72,-1,-72,-1,-75,-1,-70,-1,-73,-1,-69,-1,-70,-1,-65,-1,-66,-1,-60,-1,-60,-1,-55,-1,-52,-1,-48,-1,-45,-1,-39,-1,-37,-1,-30,-1,-26,-1,-22,-1,-16,-1,-12,-1,-6,-1,-1,-1,4,0,9,0,14,0,20,0,23,0,30,0,31,0,41,0,39,0,50,0,45,0,57,0,54,0,63,0,59,0,67,0,64,0,71,0,67,0,73,0,69,0,73,0,70,0,72,0,69,0,69,0,67,0,65,0,65,0,58,0,60,0,53,0,52,0,47,0,45,0,38,0,37,0,29,0,28,0,19,0,20,0,9,0,8,0,1,0,-4,-1,-8,-1,-12,-1,-20,-1,-22,-1,-28,-1,-34,-1,-33,-1,-44,-1,-43,-1,-48,-1,-55,-1,-51,-1,-61,-1,-59,-1,-64,-1,-64,-1,-68,-1,-66,-1,-71,-1,-68,-1,-71,-1,-68,-1,-71,-1,-67,-1,-69,-1,-65,-1,-64,-1,-62,-1,-59,-1,-58,-1,-53,-1,-50,-1,-48,-1,-42,-1}; }
	private static byte[] data21(){ return new byte[] {-41,-1,-33,-1,-32,-1,-25,-1,-22,-1,-17,-1,-11,-1,-8,-1,-1,-1,2,0,8,0,13,0,17,0,22,0,26,0,33,0,33,0,42,0,41,0,48,0,51,0,53,0,56,0,61,0,59,0,66,0,63,0,67,0,67,0,68,0,69,0,67,0,69,0,66,0,66,0,66,0,60,0,65,0,54,0,59,0,51,0,51,0,45,0,44,0,37,0,36,0,30,0,25,0,23,0,15,0,14,0,6,0,3,0,-2,-1,-8,-1,-11,-1,-17,-1,-21,-1,-26,-1,-29,-1,-35,-1,-39,-1,-40,-1,-48,-1,-47,-1,-53,-1,-56,-1,-56,-1,-60,-1,-63,-1,-61,-1,-68,-1,-63,-1,-68,-1,-66,-1,-66,-1,-68,-1,-64,-1,-66,-1,-63,-1,-61,-1,-61,-1,-55,-1,-58,-1,-50,-1,-50,-1,-45,-1,-42,-1,-38,-1,-35,-1,-30,-1,-25,-1,-23,-1,-15,-1,-13,-1,-9,-1,0,0,-2,-1,10,0,9,0,16,0,22,0,22,0,31,0,31,0,39,0,40,0,44,0,49,0,48,0,56,0,55,0,58,0,62,0,60,0,64,0,65,0,63,0,68,0,63,0,67,0,63,0,64,0,62,0,60,0,59,0,57,0,53,0,53,0,46,0,46,0,41,0,38,0,34,0,31,0,23,0,25,0,13,0,15,0,8,0,1,0,3,0,-11,-1,-5,-1,-20,-1,-16,-1,-26,-1,-26,-1,-33,-1,-34,-1,-42,-1,-42,-1,-46,-1,-50,-1,-51,-1,-55,-1,-57,-1,-58,-1,-62,-1,-60,-1,-63,-1,-64,-1,-63,-1,-65,-1,-62,-1,-65,-1,-60,-1,-64,-1,-56,-1,-59,-1,-56,-1,-52,-1,-51,-1,-48,-1,-42,-1,-44,-1,-35,-1,-34,-1,-31,-1,-23,-1,-24,-1,-15,-1,-14,-1,-7,-1,-5,-1,3,0,2,0,14,0,10,0,22,0,20,0,29,0,29,0,36,0,37,0,43,0,44,0,49,0,48,0,57,0,51,0,62,0,55,0,62,0,61,0,62,0,62,0,63,0,62,0,61,0,63,0,57,0,60,0,55,0,56,0,50,0,52,0,45,0,43,0,43,0,33,0,37,0,26,0,27,0,21,0,17,0,13,0,7,0,5,0,-1,-1,-3,-1,-11,-1,-12,-1,-20,-1,-19,-1,-27,-1,-30,-1,-33,-1,-38,-1,-39,-1,-45,-1,-46,-1,-49,-1,-52,-1,-54,-1,-55,-1,-59,-1,-57,-1,-62,-1,-55,-1,-57,-1,-50,-1,-51,-1,-44,-1,-42,-1,-39,-1,-33,-1,-32,-1,-26,-1,-23,-1,-20,-1,-15,-1,-15,-1,-8,-1,-10,-1,-2,-1,-5,-1,0,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-09.wav. */
	public Drum09(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-09.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-09.wav. */
	private class LoopThread extends Thread {
		private Drum09 clip;
		private boolean looping = true;
		public LoopThread(Drum09 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-09.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-09.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-09.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-09.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-09.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}